以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助空日期导入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73217)

--  作者:卖糕的
--  发布时间:2015/8/14 14:49:00
--  求助空日期导入


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

如图:excel里的日期列是字符型,系统里是日期型的,因为有空值导入不了,我将列转换成日期型,空值也不能导入

求助:在导入系统前判断U列是否为空值,如果是空的话赋予一个初始值,代码怎么写


--  作者:大红袍
--  发布时间:2015/8/14 14:51:00
--  

参考下面的代码

 

Dim dlg As new OpenFileDialog
dlg.Filter = "EXCEL文件|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Tables("TempX").StopRedraw
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim nms() As String = { "RegDate","Title","V" }    \'这里RegDate是日期列,另外两个分别是字符串和数字
    For i As Integer = 1 To Sheet.Rows.Count -1
        Dim r As DataRow = DataTables("TempX").AddNew()
        For m As Integer = 0 To nms.Length - 1
            If DataTables("TempX").DataCols(nms(m)).IsDate Then
                r(nms(m)) = Cdate(Sheet(i,m).Value)
            ElseIf DataTables("TempX").DataCols(nms(m)).IsNumeric
                r(nms(m)) = val(Sheet(i,m).Value)
            Else
                r(nms(m)) = Sheet(i,m).Value
            End If
        Next
    Next
    Tables("TempX").ResumeRedraw
End If