以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教电子表格导入问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102303) |
-- 作者:HJG_HB950207 -- 发布时间:2017/6/16 22:06:00 -- 请教电子表格导入问题 电子表格S1 有如下多列: 姓名、文化程度、年龄、住址、出生日期、电话 现要用按钮导入该电子表格文件其中的三列 ,分别为:姓名、住址、年龄, 形成 “个人信息表“。 请教用按钮代码分步解决如下问题: 1.首先判断该电子表格文件是否存在姓名、住址、年龄三列; 2.如三列均存在,导入该三列,形成表名为“个人信息表”的表,如缺三列中的任何一列,指出“电子表格文件不符要求”。 谢谢老师! |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2017/6/16 23:06:00 -- 谢谢老师!!! |