以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  官方的帮助内,合并数据代码里,怎么格式化日期列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75136)

--  作者:bagih
--  发布时间:2015/9/28 12:53:00
--  官方的帮助内,合并数据代码里,怎么格式化日期列
有时excel文件内日期列填写格式不正确,是否可以在以下代码里把日期列格化成DATE
Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim r As Row = Tables("订单").AddNew()
    For m As Integer = 0 To nms.Length - 1
         r(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables("订单").ResumeRedraw()

--  作者:大红袍
--  发布时间:2015/9/28 14:23:00
--  

 

[此贴子已经被作者于2015/9/28 14:22:51编辑过]

--  作者:大红袍
--  发布时间:2015/9/28 14:23:00
--  
Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As Row = Tables("订单").AddNew()
    For m As Integer = 0 To nms.Length - 1
        If Tables("订单").cols(nms(m)).IsDate Then
            Dim d As Date
            If Date.TryParse(Sheet(n,m).Value,d) Then
                r(nms(m)) = d
            End If
        Else
            r(nms(m)) = Sheet(n,m).Value
        End If
    Next
Next
Tables("订单").ResumeRedraw()

--  作者:bagih
--  发布时间:2015/9/28 21:02:00
--  

终于等到了回复,谢谢大红袍老师,我试一 下