以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 设置动态打印出来多个工作表,如何放到一个工作簿中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66689) |
-- 作者:sjx71 -- 发布时间:2015/4/12 3:19:00 -- 设置动态打印出来多个工作表,如何放到一个工作簿中 我设计了一个Excel报表模板, 想通过设置动态打印来生成多个不同的工作表(数量不确定), 又想让这些工作表都在一个工作薄中, 工作表集合如果有一个(类似于VB上的copy )工作表拷贝的方法就好设计了 可以先拷贝一个表,在新表内设置打印条件,再改该表的名字,然后再拷贝,设置打印条件,再改表的名字。。。 最后生成报表。 现在没有拷贝命令,应该怎么来设计和编程 谢谢各位老师
|
-- 作者:有点酸 -- 发布时间:2015/4/12 9:47:00 -- 下面的代码成功复制了三份第一个表到另一个文件中: Dim Book As New XLS.Book() \'定义一个Excel工作簿 For i As Integer = 1 to 3 Dim Book1 As New XLS.Book("c:\\data\\book1.xls") \' Dim Sheet As XLS.Sheet = Book1.Sheets(0)\'引用工作簿的第一个工作表 book1.Sheets.Removeat(0) sheet.name = "表" & i book.Sheets.Add(sheet) Next book.save("c:\\data\\123.xls") |
-- 作者:sjx71 -- 发布时间:2015/4/12 10:56:00 -- 酸老师 你好 我试了一下 还是不行 程序中的RemoveAt(0) 已经把工作簿中第一个表删除了 下一次Book1.Sheets(0) 已经变成了另外一个表 也就是说 复制的3次新工作簿或已有工作簿的第一个表是不一样的表,实现不了想要的的功能 还有没有别的办法 谢谢 下次升级能不能加上一个工作表拷贝的方法
|
-- 作者:有点甜 -- 发布时间:2015/4/12 11:06:00 -- 二楼的代码一定可以,我测试过的,虽然移除,但是没有保存,而且下次循环,Book1是重新加载文件的,根本不受上次删除的影响。 |
-- 作者:sjx71 -- 发布时间:2015/4/12 11:12:00 -- 好的,我再试一下 |
-- 作者:sjx71 -- 发布时间:2015/4/12 12:42:00 -- 现在可以了, 不好意思 我自己开始写的程序没注意,把 Dim Book1 As New XLS.Book("c:\\data\\book1.xls") \'
写到循环外边了,所以每次没有重新加载,然后就报错了 非常感谢各位老师 |