以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  EXCEL报表引用模板问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=162974)

--  作者:hopestarxia
--  发布时间:2021/4/19 11:13:00
--  EXCEL报表引用模板问题
老师,我想引用EXCEL模板文件的第二个工作簿的模板怎么处理?

Dim Book As New XLS.Book(ProjectPath & "Attachments\\报表模板.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(1) (老师我这里的意思是引用报表模板的第二个工作簿)
Dim fl As String = ProjectPath & "Reports\\报表模板.xls"
Book.Build()
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
App.Visible = True
ShowAppWindow("报表模板",2)
Ws.PrintPreview
App.Quit

请问代码应该如何修改才能实现,谢谢老师。

--  作者:有点蓝
--  发布时间:2021/4/19 11:18:00
--  
这个?http://www.foxtable.com/webhelp/topics/2064.htm
--  作者:hopestarxia
--  发布时间:2021/4/19 11:19:00
--  

老师,我想引用EXCEL模板文件的第二个工作表的模板怎么处理?

Dim Book As New XLS.Book(ProjectPath & "Attachments\\报表模板.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(1) (老师我这里的意思是引用报表模板的第二个工作表,即 报表模板.xls 的第二个工作表(有对应的表名) 
Dim fl As String = ProjectPath & "Reports\\报表模板.xls"
Book.Build()
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
App.Visible = True
ShowAppWindow("报表模板",2)
Ws.PrintPreview
App.Quit

请问代码应该如何修改才能实现,谢谢老师。(第一个问题把工作表描述成了工作簿,重修正发的,谢谢老师。)

--  作者:天宇科技
--  发布时间:2021/4/19 11:31:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=161713&replyID=&skin=1
看我这个帖子

--  作者:有点蓝
--  发布时间:2021/4/19 11:31:00
--  
和那个没有关系,改这里
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(2)
--  作者:hopestarxia
--  发布时间:2021/4/19 11:33:00
--  
老师,我把代码改为如下,预览显示出来是报表模板工作簿中的第二个表的样式,但是却没有引用到内容,请问老师还需要修改哪里?(我的 报表模板 工作簿中 的第1个表 是其他的打印样式)
Dim Book As New XLS.Book(ProjectPath & "Attachments\\报表模板.xls")
Dim fl As String = ProjectPath & "Reports\\报表模板.xls"
Book.Build(1)
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
App.Visible = True
ShowAppWindow("报表模板",2)
Ws.PrintPreview
App.Quit


--  作者:hopestarxia
--  发布时间:2021/4/19 11:38:00
--  
谢谢老师,实现了,:)
--  作者:hopestarxia
--  发布时间:2021/4/19 12:07:00
--  
老师,我想再生成的表上面增加一下表的名称(模板已经预留了第一行空行),请老师帮看看增加表名的代码怎么调整。(表名直接放在表第1行每1列里)

Dim Book As New XLS.Book(ProjectPath & "Attachments\\报表模板.xls")
Dim fl As String = ProjectPath & "Reports\\报表模板.xls"
Book.Build(0)
----------------------------以下代码是想增加表名(因为一个表对着多个打印样式,所以表名没设置在模板处,想在打印时根据当时打印所处位置命名表名,不然就得做好多样式一样,名字不一样的模板了,)
Dim Sheet As XLS.Sheet 
Sheet = Book.Sheets(0)
Sheet(Sheet.Rows.Count, 0).Value = "销售统计表" 
------------------------------
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(2)
App.Visible = True
ShowAppWindow("报表模板",2)
Ws.PrintPreview
App.Quit

--  作者:hopestarxia
--  发布时间:2021/4/19 20:17:00
--  
请问老师,我想在下面增加表名,参考其他资料改过后不管用,麻烦老师再给看看,

Dim Book As New XLS.Book(ProjectPath & "Attachments\\
报表模板.xls")
Dim fl As String = ProjectPath & "Reports\\报表模板.xls"
Book.Build(0)
----------------------------以下代码是想增加表名(因为一个表对着多个打印样式,所以表名没设置在模板处,想在打印时根据当时打印所处位置命名表名,不然就得做好多样式一样,名字不一样的模板了,)
Dim Sheet As XLS.Sheet 
Sheet = Book.Sheets(0)
Sheet(Sheet.Rows.Count, 0).Value = "销售统计表" 
------------------------------
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(2)
App.Visible = True
ShowAppWindow("报表模板",2)
Ws.PrintPreview
App.Quit


--  作者:有点蓝
--  发布时间:2021/4/19 20:42:00
--  
Sheet(0, 0).Value = "销售统计表"