以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自编码合并数据与Merger的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91945) |
-- 作者:chnfo -- 发布时间:2016/10/22 16:17:00 -- [求助]自编码合并数据与Merger的问题 有一个EXCEL表,里面有编号、名称、单位、数量、单价列。其中有一些行的数量列是空的(没有将它输为0) 如果用merger,没有问题。 如果用自行编码来合并 Dim Book As New XLS.Book(表的路径) Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 t.StopRedraw Dim nms() As String = { "Code","Title",”Unit","A","P" } For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As Row = t.AddNew() For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next Next 运行中弹出错误提示 版本:2016.7.29.1 代码执行出错,错误信息: System.ArgumentException: 输入字符串的格式不正确。不能在 P 列中存储 <>。所需类型是 Double。 ---> System.FormatException: 输入字符串的格式不正确。 如果回到EXCEL表中,将所有的空值单元格都输入0,再运行就没有问题。 怎么避免这种问题?要求把每个空单元格的值输0,有点不合情理。
[此贴子已经被作者于2016/10/22 16:17:26编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/10/22 16:27:00 -- Dim Book As New XLS.Book(表的路径) Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 t.StopRedraw Dim nms() As String = { "Code","Title","Unit","A","P" } For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As Row = t.AddNew() For m As Integer = 0 To nms.Length - 1 If Sheet(n,m).Value IsNot Nothing r(nms(m)) = Sheet(n,m).Value End If Next Next
|