甜版,我做了一个变通,把WORD报表和EXCEL报表做了一个结合,在生成报表的按钮中把两种报表的代码都写进去,这样就同时生成两个报表,我觉得基本解决了内容太多,EXCEL单元格限制的问题,但是我想把这两个文件同时生成在一个PDF文件中,不知是否可行,望指教或帮我改一下代码。我现在的代码如下:
Dim tm1 As
String
= ProjectPath &
"Attachments\监造周报1.docx" '指定模板文件
Dim fl1 As
String = ProjectPath
& "Reports\监造周报1.docx"
'指定目标文件
Dim fl2 As
String = ProjectPath
& "Reports\监造周报1.pdf"
'指定目标PDF文件
Dim wrt As
New WordReport(Tables("监造周报"),tm1,fl1) '定义一个WordReport
wrt.Build() '逐行生成报表
wrt.SaveToPDF(fl2)
'保存为PDF文件
wrt.Quit() '退出
Dim Proc1 As
New Process '打开PDF文件
Proc1.File = fl2
Proc1.Start()
Dim Book As New XLS.Book(ProjectPath &
"Attachments\监造周报.xls")
Dim fl As String = ProjectPath &
"Reports\监造周报.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
'Sheet.Locked = True '禁止编辑
With Sheet.PrintSetting
'页眉左边为日期,中间为时间,右边为表名
.Header = "&L&D &C&T &R&F"
'在页脚右边打印页号和总页数
.Footer = "&R第&P页,总&N页"
End With
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim App As New MSExcel.Application
try
App.DisplayAlerts = False '加上此行可禁止弹出合并前的提示
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim sr As Integer = 1
Dim prev As String = ws.Cells(1,1).Text
For r As Integer = 2 To Ws.UsedRange.Rows.count
If ws.Cells(r, 1).Text <> prev AndAlso ws.Cells(r, 1).Text
<> Nothing Then
Dim Rg As MSExcel.Range = ws.Range("A" & sr &
":A" & r-1)
Rg.Merge
sr = r
prev = ws.Cells(r, 1).Text
End If
Next
Wb.Save
App.Visible = True
catch ex As exception
msgbox(ex.message)
'app.quit
End try
app.quit
Dim flt1,flt2 As String
flt1 = ProjectPath & "Reports\监造周报.xls"
flt2 = ProjectPath & "Reports\监造周报.pdf"
Dim App1 As New MSExcel.Application
Dim Wb1 As MSExcel.WorkBook =
App1.WorkBooks.Open(flt1)
wb1.ExportAsFixedFormat(MSExcel.XlFixedFormatType.xlTypePDF,
flt2)
App1.Quit
Dim Proc As New
Process '打开工作簿
Proc.File = flt2
Proc.Start()