以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如果在一页生成的报表中含两个表的明细 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185317) |
-- 作者:zhangchi96 -- 发布时间:2023/2/16 14:18:00 -- 如果在一页生成的报表中含两个表的明细 请教高手,我想生成报表,报表分两部分,第一部分为表1,第二部分为表2,把表1的内容生成后接着生成表二,这个怎么写?有没有参考的代码? 此主题相关图片如下:1.png |
-- 作者:有点蓝 -- 发布时间:2023/2/16 14:28:00 -- 方法1、手工生成:http://www.foxtable.com/webhelp/topics/1148.htm 2、使用2个模板生成报表后合并到一起:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=97286&replyID=670470&skin=1
|
-- 作者:zhangchi96 -- 发布时间:2023/2/16 14:37:00 -- 方法2,可不可以理解为,用两个数据表,分别得到两个excel报表,然后把这两个表合并得到一个新表? |
-- 作者:有点蓝 -- 发布时间:2023/2/16 14:38:00 -- 是的 |
-- 作者:zhangchi96 -- 发布时间:2023/2/16 18:21:00 -- 代码很好用,自己做个说明:把电子表中,第一个表后面的表都复制到第1表的后面 Dim App As
New MSExcel.Application Dim Wb As
MSExcel.Workbook = App.WorkBooks.open("f:\\test.xls") Dim ws As
MSExcel.WorkSheet ws =
Wb.WorkSheets(1) Dim rg As
MSExcel.Range = ws.Cells(ws .UsedRange.Rows.Count+1,1) app.DisplayAlerts
= False For i As
Integer = Wb.WorkSheets.Count To 2 Step -1
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(i)
Dim Rg2 As MSExcel.Range = Ws2.UsedRange
rg2.Copy
rg.PasteSpecial()
rg = ws.Cells(ws .UsedRange.Rows.Count+1,1)
Ws2.Delete Next Wb.Save App.Quit 这之间还遇到一个新问题,请教一下,下图是我的第2个工作表的模版,其中序号列,为了重新编号,我直接写了一个函数在里面,但复制到1表后,行数变了,结果就不对了。 我想在复制前,把函数值复制成数值,请问要加个什么语句 ? 此主题相关图片如下:12.png |
-- 作者:有点蓝 -- 发布时间:2023/2/16 20:08:00 -- 这样用:http://www.foxtable.com/webhelp/topics/1405.htm |
-- 作者:zhangchi96 -- 发布时间:2023/2/16 21:48:00 -- 领教了,想不到狐爸爸早就有预见,设置好了这个技能,谢谢蓝老师悉心指导!!! |