以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174083) |
-- 作者:jason7275 -- 发布时间:2021/12/30 19:21:00 -- [求助] 此主题相关图片如下:excel(单位表).png 求助以下问题: 1.有一个Table(单位表),内有5行数据 2.有一个Excel表(单位表),字段与Table(单位表)一致,内有16行数据。 3.现需要从Excel表(单位表)导入数据到Table(单位表)中,实现覆盖导入。 即:1.若Table(单位表)与Excel(单位表)有相同 “单位代码”的行,用Excel数据覆盖Table数据。 2.若没有,则在Table(单位表)中增加。 以下自己写的代码,不能实现上述功能,只是将Excel表的数据全部追加到Table中,不知道哪里出了问题 Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls;*.xlsx" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim Book As New XLS.Book(dlg.FileName) 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 bh As String = sheet(n,0).Text Dim dr As DataRow = DataTables("单位表").Find("单位代码 = \' & bh & \'") 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 End If |
-- 作者:有点蓝 -- 发布时间:2021/12/30 20:15:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50080 Dim dr As DataRow = DataTables("单位表").Find("单位代码 = \'" & bh & "\'") 自行对比看效果 msgbox("单位代码 = \'" & bh & "\'") msgbox("单位代码 = \' & bh & \'")
|