Foxtable(狐表)用户栏目专家坐堂 → 找不到可安装的ISAM


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

主题:找不到可安装的ISAM

帅哥哟,离线,有人找我吗?
巷弄太过弯曲
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:219 积分:1800 威望:0 精华:0 注册:2019/2/16 10:17:00
找不到可安装的ISAM  发帖心情 Post By:2019/11/1 12:50:00 [只看该作者]

做了一个导入合并的功能
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls"  '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = "dlg.FileName"
    mg.Format = "excel2007" '指定格式
    mg.SourceTableName = "sheet1" '指定要合并的表
    mg.DataTableName = "物料信息" '指定接收数据的表
    mg.Merge()'开始合并
    
End If

测试的时候提示找不到可安装的ISAM 网上方法都试过了系统也装过了还是不行

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/1 13:43:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls"  '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel" '指定格式
    mg.SourceTableName = "sheet1$" '指定要合并的表
    mg.DataTableName = "物料信息" '指定接收数据的表
    mg.Merge()'开始合并
    
End If

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


加好友 发短信
等级:童狐 帖子:219 积分:1800 威望:0 精华:0 注册:2019/2/16 10:17:00
  发帖心情 Post By:2019/11/1 15:11:00 [只看该作者]

改了后可以了,但是老师我看帮助导入可以判断出重复内容的代码,我导入按钮改这个后,居然导入选中文件后没反应,一条数据都没有导入进来
Dim dlg As New OpenFileDialog '定义一个新的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()
    '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
    Dim nms() As String = {"物料编号","物料名称","型号规格","单价","数量","客户","备注信息"}
    '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim bh As String = sheet(n,0).Text
        If DataTables("物料信息").Find("物料编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
            Dim r As Row = Tables("物料信息").AddNew()
            For m As Integer = 0 To nms.Length - 1
                r(nms(m)) = Sheet(n,m).Value
            Next
        End If
    Next
    Tables("物料信息").ResumeRedraw()
End If

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/1 15:22:00 [只看该作者]

重启项目看看有没有新导入的数据?

代码没有问题,会不会没有新编号?

For n As Integer = 1 To Sheet.Rows.Count -1
        Dim bh As String = sheet(n,0).Text
output.show(bh & ",len=" & bh.length) '看看是不是有空格回车等多余字符

 回到顶部