以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何使导出的execl表格中的数值居中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172732) |
-- 作者:wangjx817 -- 发布时间:2021/10/28 12:21:00 -- 如何使导出的execl表格中的数值居中 老师,我在设计导出execl报表时,发现导出的execl表格中的数据中凡是数字的都靠右、非数字的都靠左,我想有一些列的数据如果居中比较美观,想问一下老师导出的execl表格的数据使某列数据居中的代码如何写? |
-- 作者:有点蓝 -- 发布时间:2021/10/28 13:32:00 -- 使用什么方式导出execl报表的 |
-- 作者:wangjx817 -- 发布时间:2021/10/28 13:51:00 -- Dim dt As DataTable = DataTables("总表分装") Dim Book As New XLS.Book \'定义一个Excel工作簿 Book.Sheets.RemoveAt(0) Dim Sheet As XLS.Sheet Dim st As XLS.Style = Book.NewStyle \'日期列的显示格式 st.Format = "yyyy-MM-dd" For Each s As String In dt.GetValues("原管理所") Sheet = Book.Sheets.Add(s) \'新建一个sheet For c As Integer = 0 To dt.dataCols.Count -1 \'添加列标题 Sheet(0, c).Value = dt.dataCols(c).Name If dt.dataCols(c).IsDate Then \'如果是日期列 Sheet.Cols(c).Style = st \'设置显示格式 End If Next Dim drs As List(Of DataRow) = dt.Select("原管理所 = \'" & s & "\'") For r As Integer = 0 To drs.Count - 1 For c As Integer = 0 To dt.dataCols.Count -1 If drs(r).isnull(dt.dataCols(c).Name) = False Sheet(r +1, c).Value = drs(r)(dt.dataCols(c).Name) Sheet(r +1, 0).Value = r +1 End If Next Next Next
|
-- 作者:有点蓝 -- 发布时间:2021/10/28 13:53:00 -- 这种可以使用样式设置,参考:http://www.foxtable.com/webhelp/topics/1161.htm |
-- 作者:wangjx817 -- 发布时间:2021/10/28 14:27:00 -- ok,谢谢! |
-- 作者:wangjx817 -- 发布时间:2021/11/1 14:45:00 -- 老师,现在EXECL报表导出没问题,但遇到另一个问题,就是在每个导出的不同sheet报表中的大标题行的内容想用每个sheet报表的表名代替,如何解决。是在execl模板里定义还是写代码? |
-- 作者:有点蓝 -- 发布时间:2021/11/1 15:00:00 -- 都可以。自己测试那个方便就用哪个 |
-- 作者:wangjx817 -- 发布时间:2021/11/3 8:33:00 -- 老师,还有一个问题,我在把窗口中的表格数据用EXECL模板导出时,EXECL表格中的列宽与原窗口中的表格的列宽就不一样了,是否能用一行或者几行的代码就能实现导出的execl表格的列宽与窗口中的表格列宽一致的快捷方法?通过每行设置列宽觉得有点麻烦或者不高效。 |
-- 作者:有点蓝 -- 发布时间:2021/11/3 8:46:00 -- 获取表格列宽参考:http://www.foxtable.com/webhelp/topics/0567.htm 遍历表格列,给对应的execl列设置列宽:http://www.foxtable.com/webhelp/topics/1159.htm 毫米和像素的转换自行百度一下
|
-- 作者:wangjx817 -- 发布时间:2021/11/3 9:45:00 -- 谢谢 |