以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  从Excel报表提取数据  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=113600)

--  作者:有点甜
--  发布时间:2018/1/19 11:45:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2334.htm

 


--  作者:有点甜
--  发布时间:2018/1/19 16:09:00
--  

如果有问题,实例发上来测试

 

Dim Book As New XLS.Book("D:\\test\\第1批.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"序号","楼层","区域","图例","名称","长","宽","厚","材质说明","单位","数量","单价","合价元","备注"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As Row = Tables("表A").AddNew()
    For m As Integer = 0 To nms.Length - 1
        r(nms(m)) = Sheet(n,m).Value
    Next
    Dim fl As String = ProjectPath & "Attachments\\" & r("图例") & ".jpg"
    If Sheet(n,4).SaveImage(fl) Then \'如果照片保存成功
        r("图例") = fileSys.GetName(fl)
    End If
Next
Tables("表A").ResumeRedraw()


--  作者:有点甜
--  发布时间:2018/1/19 16:34:00
--  
Dim Book As New XLS.Book(projectpath & "\\第1批.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"序号","楼层","区域","图例","名称","长","宽","厚","材质说明","单位","数量","单价","合价元","备注"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As Row = Tables("表A").AddNew()
    For m As Integer = 0 To nms.Length - 1
        r(nms(m)) = Sheet(n,m).Value
    Next
    Dim fl As String = ProjectPath & "Attachments\\" & r("_Identify") & ".jpg"
    If Sheet(n,3).SaveImage(fl) Then \'如果照片保存成功
        r("图例") = fileSys.GetName(fl)
    End If
Next
Tables("表A").ResumeRedraw()

--  作者:有点甜
--  发布时间:2018/1/19 17:35:00
--  
在你的项目文件夹那里,新建一个叫做 【Attachments】 的文件夹,即可。