以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于合并提取excel的内容  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149676)

--  作者:ygg8310
--  发布时间:2020/5/9 9:55:00
--  关于合并提取excel的内容
对于复杂一点的excel该怎么办?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2020-03-01 至 2020-04-06交易明细.rar


--  作者:有点蓝
--  发布时间:2020/5/9 10:04:00
--  
哪里复杂了?http://www.foxtable.com/webhelp/topics/1412.htm
--  作者:ygg8310
--  发布时间:2020/5/9 15:40:00
--  
是说把这个excel表的内容合并到fx里面
--  作者:有点蓝
--  发布时间:2020/5/9 15:48:00
--  
手工合并数据:http://www.foxtable.com/webhelp/topics/2334.htm

判断单元格是“小计”的跳过即可

--  作者:ygg8310
--  发布时间:2020/5/9 15:55:00
--  
老师关于这个表还是没头绪呀,这个
问题一:没有产生过交易的excel内显示的是"无"而不是具体时间
问题二:在这个excel中下面的小计不会处理,如何自动跳过

--  作者:有点蓝
--  发布时间:2020/5/9 15:58:00
--  
比如:http://www.foxtable.com/webhelp/topics/0226.htm

Dim Book As New XLS.Book("c:\\test\\订单.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 -
if Sheet(n,0).Value = "小计" then continue for
    Dim r As Row = Tables("订单").AddNew()
    For 
m As Integer = 0 To nms.Length - 1
if Sheet(n,m).Value = "无" then continue for
         
r(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables(
"订单").ResumeRedraw()

--  作者:ygg8310
--  发布时间:2020/5/10 0:32:00
--  
谢谢老师

[此贴子已经被作者于2020/5/10 1:23:11编辑过]