以文本方式查看主题 - 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=25111) |
||||
-- 作者:szp2012 -- 发布时间:2012/10/31 17:04:00 -- 相同代码,不同结果
f附件中,201207,201208,201209三个XLS格式银行对账单,随便选一个,用“高速导入”,然后点击窗口中按钮“导入”,除第一个高速导入的表格外,其他两个都会出现重复导入现象,点击一次,全部导入一次。判断重复导入功能无效。请教原因 |
||||
-- 作者:lin_hailun -- 发布时间:2012/10/31 17:54:00 -- 楼主,是因为你的Excel表数据后面有空格。代码最后改成这样。测试可以。 Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls|CSV文件|*.csv" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) For i As Integer = 0 To Sheet.Cols.Count -1 If CurrentTable.Cols.Contains( Sheet(0,i).Value) = False Then MessageBox.Show("目标文件不含【" & Sheet(0,i).Value & "】列,请修改与目标文件一致!", "导入错误提示") Return End If Next Dim Filter1 As String For r As Integer = 1 To Sheet.Rows.Count - 1 Filter1 = "" For c As Integer = 0 To Sheet.Cols.Count - 1 If c > 0 Then Filter1 = Filter1 & " And " End If \'If CurrentTable.DataTable.DataCols(sheet(0,c).Value).Isnumeric Then \'If sheet(r,c).Value = "" Then \' Filter1 = Filter1 & sheet(0,c).Value & " is null" \'Else \'Filter1 = Filter1 & sheet(0,c).Value & " = " & sheet(r,c).Value \'End If \'Else If sheet(r,c).Value.Trim = "" Then Filter1 = Filter1 & sheet(0,c).Value & " is null " Else Filter1 = Filter1 & sheet(0,c).Value & " = \'" & sheet(r,c).Value.Trim() & "\'" End If \' End If Next If CurrentTable.DataTable.Find(Filter1) Is Nothing Then Dim dr As Row = CurrentTable.AddNew() For c As Integer = 0 To Sheet.Cols.Count - 1 dr(Sheet(0,c).Value) = Sheet(r,c).Value.Trim Next End If Next End If |
||||
-- 作者:szp2012 -- 发布时间:2012/10/31 19:03:00 -- 测试可以,谢谢, 继续请教:为什么工行存折下载后交易日期无法设为时间列,收支列无法设为single,如何看出数据后面有空格 |
||||
-- 作者:lin_hailun -- 发布时间:2012/11/1 9:37:00 -- 以下是引用szp2012在2012-10-31 19:03:00的发言:
测试可以,谢谢, 继续请教:为什么工行存折下载后交易日期无法设为时间列,收支列无法设为single,如何看出数据后面有空格 设置成什么数据类型,你在狐表里操作就行了。关于如何看到空格,你在导入的时候用msgbox弹出导入的值看一下就知道了。 msgbox(值 & "123") |
||||
-- 作者:szp2012 -- 发布时间:2012/11/1 10:58:00 -- 在狐表中设置后,就导入不了,EXCEL不认可 |
||||
-- 作者:lin_hailun -- 发布时间:2012/11/1 11:18:00 -- 你把项目重新弄上来,我看看。 对于日期列,对于数值列,对于空值,都不同于字符的处理…… [此贴子已经被作者于2012-11-1 11:19:09编辑过]
|