Foxtable(狐表)用户栏目专家坐堂 → 设置动态打印出来多个工作表,如何放到一个工作簿中


  共有4165人关注过本帖树形打印复制链接

主题:设置动态打印出来多个工作表,如何放到一个工作簿中

帅哥哟,离线,有人找我吗?
sjx71
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
设置动态打印出来多个工作表,如何放到一个工作簿中  发帖心情 Post By:2015/4/12 3:19:00 [只看该作者]

我设计了一个Excel报表模板,

想通过设置动态打印来生成多个不同的工作表(数量不确定), 

又想让这些工作表都在一个工作薄中,


工作表集合如果有一个(类似于VB上的copy )工作表拷贝的方法就好设计了

可以先拷贝一个表,在新表内设置打印条件,再改该表的名字,然后再拷贝,设置打印条件,再改表的名字。。。 最后生成报表。

现在没有拷贝命令,应该怎么来设计和编程

谢谢各位老师

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2015/4/12 10:56:00 [只看该作者]

酸老师 你好
 
我试了一下 还是不行

程序中的RemoveAt(0) 已经把工作簿中第一个表删除了

下一次Book1.Sheets(0) 已经变成了另外一个表 

也就是说 复制的3次新工作簿或已有工作簿的第一个表是不一样的表,实现不了想要的的功能

还有没有别的办法

谢谢 

下次升级能不能加上一个工作表拷贝的方法

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/12 11:06:00 [只看该作者]

二楼的代码一定可以,我测试过的,虽然移除,但是没有保存,而且下次循环,Book1是重新加载文件的,根本不受上次删除的影响。

 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2015/4/12 11:12:00 [只看该作者]

好的,我再试一下

 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2015/4/12 12:42:00 [只看该作者]



现在可以了, 不好意思 

我自己开始写的程序没注意,把
Dim Book1 As New XLS.Book("c:\data\book1.xls") '

写到循环外边了,所以每次没有重新加载,然后就报错了

非常感谢各位老师


 回到顶部