以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]导出表以后日期乱码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=55921)

--  作者:青岛立邦达
--  发布时间:2014/8/26 11:17:00
--  [求助]导出表以后日期乱码
导出EXCEL 以后,日期类内容的都是不关联的数字?
--  作者:Bin
--  发布时间:2014/8/26 11:18:00
--  
http://www.foxtable.com/help/topics/1392.htm
--  作者:青岛立邦达
--  发布时间:2014/8/26 11:30:00
--  
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim dt As Table = Tables("检测维修单_Table1")
    Dim Book As New XLS.Book \'定义一个Excel工作簿
    Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
    For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题
        Sheet(0, c).Value = dt.Cols(c).Name
    Next
    For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据
        For c As Integer = 0 To dt.Cols.Count -1
            Sheet(r +1, c).Value = dt.rows(r)(c)
        Next
    Next
    Book.Save(dlg.FileName)
End If




直接是全导的,没用模板

--  作者:Bin
--  发布时间:2014/8/26 11:37:00
--  
按道理不会,你添加代码用VBA设置一下单元格格式呗

要不你在赋值的时候处理一下也可以.

For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据
        For c As Integer = 0 To dt.Cols.Count -1
             if dt.cols(c).IsDate then
                  Sheet(r +1, c).Value = format(dt.rows(r)(c),"yyyy-MM-dd")
             else
            Sheet(r +1, c).Value = dt.rows(r)(c)
            end if
        Next
    Next

--  作者:有点甜
--  发布时间:2014/8/26 11:45:00
--  

 回复3楼,那样,你就需要设置一下单元格的格式了,参考

 

 http://www.foxtable.com/help/topics/1148.htm