以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  报表输出  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=180276)

--  作者:lxmoffice
--  发布时间:2022/10/11 19:33:00
--  报表输出
老师,

您好!

我用1个excel表格的sheet1, sheet2, sheet3 分别输出表A,表B,表C, 打印出来便是3张纸, 但由于3个表的数据行很少, 非常浪费纸张.

另由于3个表没有关联关系, 无法放在同1sheet里.  想问一下, 有没有其它方法在1张纸里打印3个表?

谢谢!

--  作者:有点蓝
--  发布时间:2022/10/11 20:24:00
--  
生成报表后,把多个sheet内容合并到一个sheet:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=97286&replyID=670470&skin=1
--  作者:lxmoffice
--  发布时间:2022/10/12 20:11:00
--  
老师,

您好!
非常感谢你的指点.

我试了以下代码, 可以成功将Excel合并, 但如何将Excel转为PDF输出啊? 之前用Book.savetoPDF直接生成PDF, 现在代码应该怎样写?


\'输出报表
Dim Book As New XLS.Book(ProjectPath & "Attachments\\生产异常报告.xlsx")
Dim fl As String = ProjectPath & "Reports\\生产异常报告.xlsx"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.open(ProjectPath & "Reports\\生产异常报告.xlsx")
Dim ws As MSExcel.WorkSheet
ws = Wb.WorkSheets(1)
Dim rg As MSExcel.Range = ws.Cells(ws.UsedRange.Rows.Count + 1, 1)
app.DisplayAlerts = False
For i As Integer = Wb.WorkSheets.Count To 2 Step - 1
    Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(i)
    Dim Rg2 As MSExcel.Range = Ws2.UsedRange
    rg2.Copy
    rg.PasteSpecial()
    rg = ws.Cells(ws.UsedRange.Rows.Count + 1, 1)
    Ws2.Delete
Next
Wb.Save
App.Quit

Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()

End If

--  作者:有点蓝
--  发布时间:2022/10/13 8:33:00
--  
Wb.Save
wb.ExportAsFixedFormat(MSExcel.XlFixedFormatType.xlTypePDF, ProjectPath & "Reports\\生产异常报告.pdf", MsExcel.XlFixedFormatQuality.xlQualityStandard, True, False,  System.Reflection.Missing.Value,  System.Reflection.Missing.Value, True,  System.Reflection.Missing.Value)
App.Quit

--  作者:lxmoffice
--  发布时间:2022/10/13 9:27:00
--  
太好了!, 谢谢老师, Foxtable真是无所不能!