以文本方式查看主题

-  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
--  
谢谢