Foxtable(狐表)用户栏目专家坐堂 → [求助]excel 导入时存在的问题


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

主题:[求助]excel 导入时存在的问题

美女呀,离线,留言给我吧!
hch
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
[求助]excel 导入时存在的问题  发帖心情 Post By:2015/3/14 22:05:00 [显示全部帖子]

问题1、用高速合并方式虽可以将外部excel 数据导入狐表中,但导入时发现相同数据无覆盖导入,出现相同数据重复导入,采取“更新同主键记录”或“跳过同主键记录”方法导入,仍出现相同数据重复导入,如何解决重复导入问题?问题2:用高速导入外部的excel 数据,发现导入时需新命名一个新表名才能导入数据,如何将外部的excel 数据直接导入到与狐表中表结构一致的表中?

 回到顶部
美女呀,离线,留言给我吧!
hch
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/15 12:54:00 [显示全部帖子]

     编写好代码放在狐表中什么地方,点击那个按钮就可完成“导入合并统计”工作。我参考帮助文件提示写的“合并统计”代码字段如下:费心看看有何问题存在,若有问题请给与正确代码提示。
Dim Book As New XLS.Book("C:\Documents and Settings\Administrator\桌面\学术论文.xls") 
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()

 回到顶部
美女呀,离线,留言给我吧!
hch
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/16 9:59:00 [显示全部帖子]

    把修改好的代码字段放置在什么地方,操作那个菜单下按钮就可正常导入合并数据。

 回到顶部
美女呀,离线,留言给我吧!
hch
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/16 11:47:00 [显示全部帖子]

     按你的提示在杂项菜单下设计了“自定义合并”菜单按钮,把代码放在该菜单按钮的Click事件中后测试无法完成合并导入,现将文件传上请具体
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理系统.table

指导一下,谢谢。

 回到顶部
美女呀,离线,留言给我吧!
hch
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/16 19:54:00 [显示全部帖子]

非常感谢有点甜老师耐心指导,问题解决。

 回到顶部
美女呀,离线,留言给我吧!
hch
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/17 17:20:00 [显示全部帖子]

如果我在导入合并其他表,类似该结构时,代码是不是只需改变颜色改变部分的代码内容即可,
    能否把 Dim bh As String = sheet(n,5).Text  这段代码的具体含义给与说明,谢谢。


Dim dlg As new OpenFileDialog
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,5).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

 回到顶部
美女呀,离线,留言给我吧!
hch
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/20 11:23:00 [显示全部帖子]

    明白了。另外,我用同样的方法在“杂项—自定义的导入导出”菜单按钮下,导入其他类似结构的外部数据是发现导入“正式职工”可以正常导入,但导入“聘用人员”时不能正常合并导入,提示:错误所在事件:菜单,聘用人员,Click 详细错误信息:Conversion from string "" to type 'Date' is not valid.仔细核对代码字段没发现有什么问题,不明白错误出现在哪里,请赐教老师解答。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table


 

 回到顶部
美女呀,离线,留言给我吧!
hch
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/3/20 16:25:00 [显示全部帖子]

谢谢!问题解决了图片点击可在新窗口打开查看

 回到顶部