Foxtable(狐表)用户栏目专家坐堂 → 导入数据按钮代码求教?


  共有4357人关注过本帖树形打印复制链接

主题:导入数据按钮代码求教?

帅哥哟,离线,有人找我吗?
lisheng7177
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
导入数据按钮代码求教?  发帖心情 Post By:2015/2/9 14:42:00 [显示全部帖子]

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.Format = "Excel"
        mg.SourceTableName = "理论机考表$"
        mg.DataTableName = "理论机考表"
        mg.Merge()
    Next
End If

With DataTables("理论机考表")
    .DataCols("身份证号码").RaiseDataColChanged()
   
End With

 

导入数据时,如有单元格数据发生了变化,不是覆盖导入,而是在原有的行数上增加,这是为什么?


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 14:50:00 [显示全部帖子]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看那要怎么改才不变就不动、变则覆盖、没有则增加?

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:05:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,理论机考,Button2,Click
详细错误信息:
String was not recognized as a valid Boolean.Couldn't store <0> in 是否合格 Column.  Expected type is Boolean.
String was not recognized as a valid Boolean.

Dim Book As New XLS.Book("D:\鉴定表格\理论机考表.xls")
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 sfzhm As String = sheet(n,0).Text
    Dim dr As DataRow = DataTables("理论机考表").Find("身份证号码 = '" & sfzhm & "'")
    If dr Is Nothing Then '如果不存在同编号的订单
        dr =  DataTables("理论机考表").AddNew()
    End If
    For m As Integer = 0 To nms.Length - 1
        dr(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables("理论机考表").ResumeRedraw()

这是什么原因报错?


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:07:00 [显示全部帖子]

要导入的EXCEL表里的是否合格列是“True”和“False"

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:11:00 [显示全部帖子]

我想导入的Excel表不可以放在任何盘里吗?一定得指定放在比如D:\鉴定表格\理论机考表.xls?


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:16:00 [显示全部帖子]

谢谢甜版!问题现在代码报错是什么原因?

 


 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:23:00 [显示全部帖子]

呵呵,上面甜版已经回答了,是逻辑列要先处理一下,因为我是连发的提问,现在我正在组织代码,但总会有这错那错

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:25:00 [显示全部帖子]

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    Dim Book As New XLS.Book("D:\鉴定表格\理论机考表.xls")
    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 sfzhm As String = sheet(n,0).Text
        Dim dr As DataRow = DataTables("理论机考表").Find("身份证号码 = '" & sfzhm & "'")
        If dr Is Nothing Then '如果不存在同编号的订单
            dr =  DataTables("理论机考表").AddNew()
        End If
        For m As Integer = 0 To nms.Length - 1
            dr(nms(m)) = Sheet(n,m).Value
            For m As Integer = 0 To nms.Length - 1
                If DataTables("理论机考表").DataCols(nms(m)).IsBoolean Then
                    If Sheet(n,m).Value = 0 Then
                        dr(nms(m)) = False
                    Else
                        dr(nms(m)) = True
                    End If
                Else
                    dr(nms(m)) = Sheet(n,m).Value
                End If
            Next
        Next
    Next
End If
这几种要求的代码写在一起还真是难写,我实在是写不出,版主帮改改看错在哪?

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:30:00 [显示全部帖子]

改了这句还是报错!

 


图片点击可在新窗口打开查看此主题相关图片如下:ecm78m_v4qb$73a9lyk.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
lisheng7177
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:47:00 [显示全部帖子]

 


图片点击可在新窗口打开查看此主题相关图片如下:gm)w5@hepkoyesl(5~8kp.png
图片点击可在新窗口打开查看

 

版主,这准考证号码列又有什么错?

 

Dim dr As DataRow = DataTables("理论机考表").Find("身份证号码 = '" & sfzhm & "' And "准考证号码 = '" & zkzhm & "'")

这样改也不行!


 回到顶部
总数 18 1 2 下一页