以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]根据条件表里的值生成多个报表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68969)

--  作者:monvzhilei
--  发布时间:2015/5/28 12:28:00
--  [讨论]根据条件表里的值生成多个报表

我有专门一个条件表。存放几十个班级的名称。 根据班级名称这个条件,生成班级的报表。

 

点击  条件表  里面某一个班级。是可以生成报表的。

我现在需要的时候,点击按钮,生成所有班级的报表。

 

 

按钮代码是 :

   Dim Book As New XLS.Book(ProjectPath & "Attachments\\学籍卡.xls") \'打开模板
Dim dr1 As DataRow = Tables("条件").Current.DataRow
Dim fl As String = ProjectPath & "Reports\\" & dr1("班级名称") & ".xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,9).Value = "<[班级名称] = \'" & dr1("班级名称")&"\'>"
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)
Dim Rg As MSExcel.Range = Ws.Cells
\'Rg.EntireColumn.AutoFit   \'自动调整列宽
\'Rg.EntireRow.AutoFit  \'自动调整行高
\'Rg.WrapText = True
rg.ShrinkToFit = True
App.Visible = False
app.quit

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2015/5/28 13:38:00
--  

 for each  s as string in datatables("表名").getValues("班级名称")

Dim Book As New XLS.Book(ProjectPath & "Attachments\\学籍卡.xls") \'打开模板 
Dim dr1 As DataRow = Tables("条件").Current.DataRow
Dim fl As String = ProjectPath & "Reports\\" & s & ".xls" 
Dim Sheet As XLS.Sheet = Book.Sheets(0) 
Sheet(1,9).Value = "<[班级名称] = \'" & s &"\'>"
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)
Dim Rg As MSExcel.Range = Ws.Cells
\'Rg.EntireColumn.AutoFit   \'自动调整列宽
\'Rg.EntireRow.AutoFit  \'自动调整行高
\'Rg.WrapText = True 
rg.ShrinkToFit = True
App.Visible = False
app.quit

next

 


--  作者:monvzhilei
--  发布时间:2015/5/28 21:11:00
--  
谢谢。这个代码很灵。太灵了。