以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  导入数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172697)

--  作者:aaa1234
--  发布时间:2021/10/26 16:01:00
--  导入数据
老师您好我想导入数据,然后我excel有一列是品名(英文/中文),他是设置过单元格,要浏览格式结果才能看到,但是导入的不是我看到效果
我的代码如下Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xlsx|Word文件|*.doc|Access文件|*.mdb" \'设置筛选器
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={"品名(英文/中文)","配色(英文/中文)","材质/细节","整套sku","单件sku","易仓sku","箱唛说明书中名称","包装结构(天地盖,长边侧开,短边侧开)","处理方案","客服负责人","Steven/Lucia发快递评定","八爪鱼发快递评定","备注","负责人"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer =1 To Sheet.Rows.Count-1
 Dim r As Row = Tables("客服产品资料表").AddNew()
 For m As Integer =0 To nms.Length -1
        r(nms(m)) =Sheet(n,m).Value
 Next
Next
Tables("客服产品资料表").ResumeRedraw()
End If

--  作者:有点蓝
--  发布时间:2021/10/26 16:16:00
--  
没看懂是什么问题?截图说明一下
--  作者:aaa1234
--  发布时间:2021/10/26 16:52:00
--  回复:(有点蓝)没看懂是什么问题?截图说明一下
老师你看看这个表的品名(英文/中文)列,导入试一下
--  作者:aaa1234
--  发布时间:2021/10/26 16:53:00
--  
111
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:11111小练.xls


--  作者:aaa1234
--  发布时间:2021/10/26 16:55:00
--  
111
图片点击可在新窗口打开查看此主题相关图片如下:1635238418(1).jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/10/26 17:02:00
--  
这种数据没有办法导入,不是单元格的真实数据。
--  作者:aaa1234
--  发布时间:2021/10/26 17:03:00
--  
那要怎么样才能搞成真实的数据呢,老师
--  作者:有点蓝
--  发布时间:2021/10/26 17:19:00
--  
我也不懂,execl也不是很熟,第一次见这种用法
--  作者:aaa1234
--  发布时间:2021/10/27 10:56:00
--  
图片点击可在新窗口打开查看老师用这代码导入这个表,好像有点问题,最后
以下内容是专门发给有点蓝浏览

一行多了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新1.xlsx

[此贴子已经被作者于2021/10/27 10:59:16编辑过]

--  作者:有点蓝
--  发布时间:2021/10/27 11:36:00
--  
表格本身就有空行

代码里判断一下,第一列是否有值再导
……
For n As Integer =1 To Sheet.Rows.Count-1
if Sheet(n,0).text > "" 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