以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 导入逻辑字段怎么写。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46938)

--  作者:fengyungongzi
--  发布时间:2014/3/1 16:06:00
--  [求助] 导入逻辑字段怎么写。

    我用的是这个代码导入excel表格。

 

           Dim dlg As New OpenFileDialog
    dlg.Filter= "Excel文件|*.xls;*.xlsx"
  If dlg.ShowDialog = DialogResult.Ok Then
    \'MessageBox.Show("你选择的是:" & dlg.FileName,"提示")
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Dim colNames As New List(Of String)
    For i As Integer = 0 To sheet.Cols.Count - 1
        colNames.Add(sheet(0, i).Text)
    Next
  
    Dim dt As DataTable = DataTables("机电设备表")
    For i As Integer = 1 To sheet.Rows.Count - 1
        If dt.Find("序号 = \'" & sheet(i, 0).Text & "\'") Is Nothing Then
            Dim ndr As DataRow = dt.AddNew
            For j As Integer = 0 To sheet.Cols.Count - 1
                ndr(colNames(j)) = sheet(i, j).Text
            Next
        End If
    Next
End If

 

 

                  可遇到字段是日期和逻辑型的字段时。提示我出错。我该在Excel表中如何设置相应的字段的格式啊?

[此贴子已经被作者于2014-3-1 16:06:27编辑过]

--  作者:Bin
--  发布时间:2014/3/1 16:10:00
--  
参考帮助,用Value http://www.foxtable.com/help/topics/2334.htm

逻辑字段 如果不行,应该自行判断一下.  
加入第6列是逻辑字段
if  j = 5 then
    ndr(colNames(j)) = IIF(sheet(i, j).Value="True",True,False)
end if

--  作者:fengyungongzi
--  发布时间:2014/3/1 16:11:00
--  
  如果是日期的怎么设置啊??
--  作者:Bin
--  发布时间:2014/3/1 16:12:00
--  
如果Excel表格本来是日期格式就没问题,如果不是,同样采用变通拼接的方法.

ndr(colNames(j)) = "#" & sheet(i, j).Value & "#"

--  作者:fengyungongzi
--  发布时间:2014/3/1 16:32:00
--  
     这个代码
   if  j = 5 then
    ndr(colNames(j)) = IIF(sheet(i, j).Value="True",True,False)
  end if
加在我写的代码的什么位置啊。我加入后,怎么不好使啊。在Excel表中将这个字段设置成什么类型的啊。还有如果字段是图片怎么设置才能导入啊??

--  作者:Bin
--  发布时间:2014/3/1 16:34:00
--  
你上例子吧,前面我已经解释得很清楚了.你不能生搬硬套啊.

实在不会只能上例子了.

--  作者:fengyungongzi
--  发布时间:2014/3/1 16:47:00
--  

    将表:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:11.xls

     利用窗口1中的“导入”控件,导入到项目中的表中。项目为:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


--  作者:Bin
--  发布时间:2014/3/1 16:58:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


--  作者:blsu33
--  发布时间:2014/10/21 21:19:00
--  
老师 上面的例子 导入之后  false TRUE 字段全部变成了 FALSE  貌似没有导入 我也遇到了这个问题 能否再帮忙解决一下
--  作者:有点甜
--  发布时间:2014/10/21 21:28:00
--  

 原本的代码改一下就行

 

ndr(colNames(j)) = IIF(sheet(i, j).Value="TRUE" OrElse sheet(i, j).Value = 1,True,False)