以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多个含有多层表头的表导出到同一个工作簿中  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72661)

--  作者:月亮天蝎
--  发布时间:2015/8/4 11:01:00
--  多个含有多层表头的表导出到同一个工作簿中
1、下面的导出方法,对于多层表头来讲不管用:

Dim ex1 As New Exporter
ex1.SourceTableName = "订单统计表" \'指定导出表
ex1.FilePath = "e:\\订单导出数据\\2015订单导出数据.xls" \'指定目标文件
ex1.Format = "Excel" \'导出格式为Excel
ex1.Export()


2、下面的导出方法,对于多层表头管用,但是我有多个导出表,想导出到一个工作簿中来,如果我前面已经定义了sheet作为sheets(0),我现在想将含有多层表头的数据导入到sheets(1),这时问题出来了:提示显示"索引超出范围。必须为非负值并小于集合大小。参数名: index",我该怎么办呢

Dim tbl As Table = Tables("订单统计表")
Dim hdr As Integer = tbl.HeaderRows \'获得表头的层数
Dim Sheet1 As XLS.Sheet = Book.Sheets(1)
tbl.CreateSheetHeader(Sheet1,0,0,False) \'生成表头
For c As Integer = 0 To tbl.Cols.Count - 1
    For r As Integer = 0 To tbl.Rows.Count - 1
        sheet(r + hdr,c).value = tbl(r,c)
    Next
Next
Book.Save("e:\\订单导出数据\\2015订单导出数据.xls")



--  作者:大红袍
--  发布时间:2015/8/4 11:05:00
--  

Dim Sheet1 As XLS.Sheet = Book.Sheets(1)

 

改成

 

Dim Sheet1 As XLS.Sheet = Book.Sheets.Add("订单统计表")


--  作者:月亮天蝎
--  发布时间:2015/8/4 11:12:00
--  
谢谢专家