Foxtable(狐表)用户栏目专家坐堂 → 导出数据日期显示问题


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

主题:导出数据日期显示问题

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
导出数据日期显示问题  发帖心情 Post By:2021/7/9 12:29:00 [只看该作者]

示例二

如果要导出部分列,或者要自定义列宽,或者要自定义列标题,可以参考下面的代码:

Dim dt As Table = Tables("订单")
Dim
nms() As String = {"产品","客户","数量","单价","金额","日期"} '要导出的列名
Dim
caps() As String = {"产品名称","用户名称","数量","单价","金额","日期"} '对应的列标题
Dim
szs() As Integer = {100,100,80,80,80,120} '对应的列宽
Dim
Book As New XLS.Book '定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim
st As XLS.Style = Book.NewStyle '日期列的显示格式
st
.Format = "yyyy-MM-dd"
For
c As Integer = 0 To nms.length -1
    Sheet(0, c).Value = caps(c)
'指定列标题
    Sheet.Cols(c).Width = szs(c)
'指定列宽
    If dt.Cols(nms(c)).IsDate Then '
如果是日期列
        Sheet.Cols(c).Style = st '
设置显示格式
    End If

Next
For
r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To nms.length -1
        Sheet(r +1, c).Value = dt.rows(r)(nms(c))
    Next

Next
Dim
dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg
.Filter= "Excel文件|*.xls" '设置筛选器
If
dlg.ShowDialog = DialogResult.Ok Then
    Book.Save(dlg.FileName)
    Dim Proc As New Process
    Proc.File = dlg.FileName
    Proc.Start()

End
If



根据帮助, 上述代码如果日期是空的话,会显示1900/1/0, 怎样才能显示日期是空? 另外字体也比普通导出的字体要大,怎样才能显示普通导出的正常字体呢?

 


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To nms.length -1
if dt.rows(r).isnull(nms(c)) = false
        Sheet(r +1, c).Value = dt.rows(r)(nms(c))
endif
    Next

Next

 回到顶部