以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教老师,这段代码该怎么精简? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140064) |
-- 作者:etchun -- 发布时间:2019/8/28 19:29:00 -- [求助]请教老师,这段代码该怎么精简? 请教老师,这段代码该怎么精简? 鉴于尽管可以跳过某些正常excel表生成报表,但发现生成的报表中,其他excel表的数据链接全都失效,即使特意在模版中加插一列, 让生成后的报表,被链接数据的单元格位置保持一致,还是不行。 所以想通过以下代码另类集成,但要是十几张表这么运行,感觉会很吃内存,该怎么精简? 或者说,最主要的是下面所示的C表,把C表数据在直接复制粘贴到总工作簿中对应的sheet就可以了...总工作簿的其他十多张表都是通过C表进行数据链接以及计算的。 我现在是生成C表后,手动复制粘贴。。 Dim Book1 As New XLS.Book("c:\\LS1.xls") Book1.Build() \'生成细节区 Book1.Save("c:\\reports\\LS1.xls") \'保存临时工作簿1 Dim Book2 As New XLS.Book("c:\\LS2.xls") Book2.Build() \'生成细节区 Book2.Save("c:\\reports\\LS2.xls") \'保存临时工作簿2 Dim Book3 As New XLS.Book("c:\\LS3.xls") Book3.Build() \'生成细节区 Book3.Save("c:\\reports\\LS3.xls") \'保存临时工作簿3 Dim A1 = Book1.Sheets("A表") Dim B2 = Book2.Sheets("B表") Dim C3 = Book3.Sheets("C表") Dim Book4 As New XLS.Book("c:\\总表.xls") \'定义总工作簿 Book1.Sheets.Remove(A1) Book4.Sheets.Insert(0,A1) Book2.Sheets.Remove(B2) Book4.Sheets.Insert(3,B2) Book3.Sheets.Remove(C3) Book4.Sheets.Insert(5,C3) \'把各个临时工作簿生成的报表插入至总工作簿指定位置 Book4.Save("c:\\reports\\总表.xls") \'保存 FileSys.DeleteFile("c:\\reports\\LS1.xls",2,2) FileSys.DeleteFile("c:\\reports\\LS2.xls",2,2) FileSys.DeleteFile("c:\\reports\\LS3.xls",2,2) \'删除所有临时工作簿 Dim Proc As New Process Proc.File = "c:\\reports\\总表.xls" Proc.Start() \'打开总工作簿
|
-- 作者:etchun -- 发布时间:2019/8/28 20:39:00 -- 各位老师??? |
-- 作者:有点蓝 -- 发布时间:2019/8/29 9:25:00 -- Dim Book1 As New XLS.Book("c:\\LS1.xls") Book1.Build() \'生成细节区 Dim Book2 As New XLS.Book("c:\\LS2.xls") Book2.Build() \'生成细节区 Dim Book3 As New XLS.Book("c:\\LS3.xls") Book3.Build() \'生成细节区 Dim A1 = Book1.Sheets("A表") Dim B2 = Book2.Sheets("B表") Dim C3 = Book3.Sheets("C表") Dim Book4 As New XLS.Book("c:\\总表.xls") \'定义总工作簿 Book1.Sheets.Remove(A1) Book4.Sheets.Insert(0,A1) Book2.Sheets.Remove(B2) Book4.Sheets.Insert(3,B2) Book3.Sheets.Remove(C3) Book4.Sheets.Insert(5,C3) \'把各个临时工作簿生成的报表插入至总工作簿指定位置 Book4.Save("c:\\reports\\总表.xls") \'保存 Dim Proc As New Process Proc.File = "c:\\reports\\总表.xls" Proc.Start() \'打开总工作簿
|
-- 作者:etchun -- 发布时间:2019/8/29 21:49:00 -- 回复:(有点蓝)Dim Book1 As New XLS.Book("c:\LS1.... 谢谢蓝老师 |