Foxtable(狐表)用户栏目专家坐堂 → [求助]Excel导出问题


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

主题:[求助]Excel导出问题

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
[求助]Excel导出问题  发帖心情 Post By:2019/11/18 14:36:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.C
Dim nms() As String = {"报障时间","区域","客户名称","业务类型","服务级别","故障处理过程","抢修部门","销障时间","工单状态"}
cmd.CommandText = "Select 报障时间,区域,客户名称,业务类型,服务级别,故障处理过程,抢修部门,销障时间,工单状态 Fro m {集客故障记录表} where 工单状态 = '新增' or (工单状态 = '销障'and convert(varchar(10),[业务确认时间],120) = convert(varchar(10),getdate(),120)) ORDER BY 报障时间 Desc"
Dim dt As DataTable = cmd.ExecuteReader()
Dim Book As New XLS.Book
Book.Sheets.Add("集客故障") '增加一个名为"集客故障"的工作表
Book.Sheets.Add("家客故障") '增加一个名为"家客故障"的工作表
Book.Sheets.Remove("Sheet1")
Dim Sheet As XLS.Sheet = Book.Sheets("集客故障")

Dim st As XLS.Style = Book.NewStyle '日期列的显示格式
st.Format = "yyyy-MM-dd hh:mm:ss"
For c As Integer = 0 To nms.Count -1
    Sheet(0, c).Value = nms(c)
    If dt.DataCols(nms(c)).IsDate Then '如果是日期列
        Sheet.Cols(c).Style = st '设置显示格式
    End If
Next
For r As Integer = 0 To dt.DataRows.Count - 1
    For c As Integer = 0 To nms.Count -1
        Sheet(r +1, c).Value = dt.DataRows(r)(nms(c))
    Next
Next
Book.Save("C:\Users\GDTT\Desktop\test.xls") '保存excel

导出的excel表中,如果数据库日期时间列没内容,导出的表显示为1900/1/0  0:00:00 如何才能把这个没用的数据在导出前删除?

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20191118115612.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/18 14:49:00 [只看该作者]

For r As Integer = 0 To dt.DataRows.Count - 1
    For c As Integer = 0 To nms.Count -1
if dt.DataRows(r).isnull(nms(c)) = false
        Sheet(r +1, c).Value = dt.DataRows(r)(nms(c))
end if
    Next
Next

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


加好友 发短信
等级:幼狐 帖子:139 积分:1145 威望:0 精华:0 注册:2016/11/22 8:50:00
  发帖心情 Post By:2019/11/19 9:19:00 [只看该作者]

谢谢,代码ok

 回到顶部