Foxtable(狐表)用户栏目专家坐堂 → 请教电子表格导入问题


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

主题:请教电子表格导入问题

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


加好友 发短信
等级:小狐 帖子:394 积分:6003 威望:0 精华:0 注册:2015/2/17 10:18:00
请教电子表格导入问题  发帖心情 Post By:2017/6/16 22:06:00 [只看该作者]

电子表格S1 有如下多列:   姓名、文化程度、年龄、住址、出生日期、电话

现要用按钮导入该电子表格文件其中的三列 ,分别为:姓名、住址、年龄,  形成  “个人信息表“。

请教用按钮代码分步解决如下问题:
    
     1.首先判断该电子表格文件是否存在姓名、住址、年龄三列;

     2.如三列均存在,导入该三列,形成表名为“个人信息表”的表,如缺三列中的任何一列,指出“电子表格文件不符要求”。

谢谢老师!



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/16 22:23:00 [只看该作者]

参考:

Dim Book As New XLS.Book("F:\H\问题测试\1111.xlsx")
Dim Sheet As XLS.Sheet = Book.Sheets(0)

Dim nms() As String = {"姓名","住址","年龄"}

Dim s1 As new List(of String)
s1.AddRange(nms)
Dim dict As new Dictionary(of String,Integer)
For m As Integer = 0 To sheet.Cols.count -1
    If s1.Contains(sheet(0,m).value) Then
        dict.add(sheet(0,m).value,m)
    End If
Next
If dict.Count <> nms.Length Then
    msgbox("电子表格文件不符要求")
    Return
End If
Tables("表A").StopRedraw()
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim bh As String = sheet(n,dict("姓名")).Text
    Dim dr As DataRow = DataTables("表A").Find("姓名 = '" & bh & "'")
    If dr Is Nothing Then '如果不存在同编号的订单
        dr =  DataTables("表A").AddNew()
    End If
    For Each key As String In dict.Keys
        dr(key) = Sheet(n,dict(key)).Value
    Next
Next
Tables("表A").ResumeRedraw()

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


加好友 发短信
等级:小狐 帖子:394 积分:6003 威望:0 精华:0 注册:2015/2/17 10:18:00
  发帖心情 Post By:2017/6/16 23:06:00 [只看该作者]

谢谢老师!!!

 回到顶部