Foxtable(狐表)用户栏目专家坐堂 → 如何使导出的execl表格中的数值居中


  共有2938人关注过本帖树形打印复制链接

主题:如何使导出的execl表格中的数值居中

帅哥哟,离线,有人找我吗?
wangjx817
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2110 威望:0 精华:0 注册:2018/4/30 16:00:00
如何使导出的execl表格中的数值居中  发帖心情 Post By:2021/10/28 12:21:00 [只看该作者]

老师,我在设计导出execl报表时,发现导出的execl表格中的数据中凡是数字的都靠右、非数字的都靠左,我想有一些列的数据如果居中比较美观,想问一下老师导出的execl表格的数据使某列数据居中的代码如何写?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/28 13:32:00 [只看该作者]

使用什么方式导出execl报表的

 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2110 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/28 13:53:00 [只看该作者]

这种可以使用样式设置,参考:http://www.foxtable.com/webhelp/topics/1161.htm



 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2110 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2021/10/28 14:27:00 [只看该作者]

ok,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2110 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2021/11/1 14:45:00 [只看该作者]

老师,现在EXECL报表导出没问题,但遇到另一个问题,就是在每个导出的不同sheet报表中的大标题行的内容想用每个sheet报表的表名代替,如何解决。是在execl模板里定义还是写代码?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/1 15:00:00 [只看该作者]

都可以。自己测试那个方便就用哪个

 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2110 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2021/11/3 8:33:00 [只看该作者]

老师,还有一个问题,我在把窗口中的表格数据用EXECL模板导出时,EXECL表格中的列宽与原窗口中的表格的列宽就不一样了,是否能用一行或者几行的代码就能实现导出的execl表格的列宽与窗口中的表格列宽一致的快捷方法?通过每行设置列宽觉得有点麻烦或者不高效。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/3 8:46:00 [只看该作者]

获取表格列宽参考:http://www.foxtable.com/webhelp/topics/0567.htm

遍历表格列,给对应的execl列设置列宽:http://www.foxtable.com/webhelp/topics/1159.htm

毫米和像素的转换自行百度一下

 回到顶部
帅哥哟,离线,有人找我吗?
wangjx817
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:259 积分:2110 威望:0 精华:0 注册:2018/4/30 16:00:00
  发帖心情 Post By:2021/11/3 9:45:00 [只看该作者]

谢谢

 回到顶部