以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 已解决 求助;导入表格时,里面包含日期列。每次导入都说日期列是字符串不能岛data。应当如何修改 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138693) |
-- 作者:zto001 -- 发布时间:2019/8/3 13:20:00 -- 已解决 求助;导入表格时,里面包含日期列。每次导入都说日期列是字符串不能岛data。应当如何修改 1求助;导入表格时,里面包含日期列。每次导入都说日期列是字符串不能岛data,然后就停止绘制表格变成空白,关掉重开又有数据在里面。应当如何修改 Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim Book As New XLS.Book( txt.Value ) 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 bh As String = sheet(n,0).Text If DataTables("结算").Find("运单号 = \'" & bh & "\'") Is Nothing Then \'如果不存在同编号的订单 Dim r As Row = Tables("结算").AddNew() For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next End If Next Tables("结算").ResumeRedraw() [此贴子已经被作者于2019/8/3 15:08:03编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/8/3 14:21:00 -- For m As Integer = 0 To nms.Length - 1 If nms(m) = "账单日期" Dim d As Date If Date.TryParse(Sheet(n,m).Value,d) Then r(nms(m)) = d Else r(nms(m)) = Sheet(n,m).Value End If Next
|
-- 作者:zto001 -- 发布时间:2019/8/3 15:08:00 -- Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1") Dim Book As New XLS.Book( txt.Value ) 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 bh As String = sheet(n,0).Text If DataTables("结算").Find("运单号 = \'" & bh & "\'") Is Nothing Then \'如果不存在同编号的订单 Dim r As Row = Tables("结算").AddNew() For m As Integer = 0 To nms.Length - 1 If nms(m) = "账单日期" Or nms(m) = "收件时间" Then Dim d As Date If Date.TryParse(Sheet(n,m).Value,d) Then r(nms(m)) = d Else r(nms(m)) = Sheet(n,m).Value End If Next End If Next Tables("结算").ResumeRedraw() |