以文本方式查看主题

-  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=175311)

--  作者:rgbjwjb
--  发布时间:2022/2/28 19:55:00
--  逻辑值的导入
我用如下代码设置导入功能:
Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
If dlg.ShowDialog =DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("死亡人员明细表").StopRedraw()
    Dim nms() As String = {"姓名","身份证号码","死亡日期","是否结清","备注","结清类型"}
    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
End If
Tables("死亡人员明细表").ResumeRedraw()
出现这样的错误提示:
该字符串未被识别为有效的布尔值。不能在 是否结清 列中存储 <1>。所需类型是 Boolean。
该字符串未被识别为有效的布尔值。


--  作者:rgbjwjb
--  发布时间:2022/2/28 19:59:00
--  
我检查了导入的excel 表,“是否结清”列中的值为:TRUE和false,我将其改为1或0还是不能导入,请指教,谢谢!
--  作者:有点蓝
--  发布时间:2022/2/28 21:02:00
--  
        For m As Integer = 0 To nms.Length - 1
if nms(m) = "是否结清" then
if Sheet(n,m).text = “TRUE
r(nms(m)) = true
else
r(nms(m)) = false
endif
else
            r(nms(m)) = Sheet(n,m).Value
endif
        Next

--  作者:rgbjwjb
--  发布时间:2022/2/28 22:24:00
--  
能导入,也没提示出错。只是当导入的值为“TRUE”时,“是否结清”这一逻辑值列没有勾选
--  作者:有点蓝
--  发布时间:2022/2/28 23:17:00
--  
调试弹出什么值?

      For m As Integer = 0 To nms.Length - 1
if nms(m) = "是否结清" then
msgbox(Sheet(n,m).text )
if Sheet(n,m).text = “TRUE
r(nms(m)) = true
else
r(nms(m)) = false
endif
else
            r(nms(m)) = Sheet(n,m).Value
endif
        Next