以文本方式查看主题

-  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=153993)

--  作者:朱女士
--  发布时间:2020/8/31 9:11:00
--  读取excel表中数据

老师您好!

     我有一个订单明细表:表的格式:


此主题相关图片如下:采购单.png
按此在新窗口浏览图片
想把其中的部分数据读取到foxtable的明细表中,只将供方名称和下面的多行读入,我只会写读取一行数据的代码:

Dim Book As New XLS.Book("d:\\aa\\采购订单.xlsx")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim dr As DataRow = DataTables("ylcgb").AddNew
dr("供应商") = sheet(2,1).text
dr("原料名称") = sheet(11,1).Text
dr("描述及规格") = sheet(11,2).text
dr("采购_数量") = sheet(11,3).text
dr("到货日期") = sheet(10,4).text

但是怎么写代码自动判断数据的行数,并自动读取存入订单明细表中的。比如上采购单中有两行数据,以后有可能是三行,或更多。也就是说通用代码是怎样的?真的不会写了。谢谢帮助!


--  作者:有点蓝
--  发布时间:2020/8/31 9:22:00
--  
如果从11行开始都是明细,参考:http://www.foxtable.com/webhelp/topics/2334.htm,改一下循环起始的索引即可

\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 10 To Sheet.Rows.Count -
    Dim 
r As Row = Tables("订单").AddNew()
    For 
m As Integer = 0 To nms.Length - 1
         
r(nms(m)) = Sheet(n,m).Value
    Next
Next
[此贴子已经被作者于2020/8/31 9:22:36编辑过]