我正在寻找一种以编程方式将Excel报表转换为XPS格式的方法。是否支持Microsoft框架中的任何位置,或者我们应该寻找第三方工具吗?
是的,目前我们正在使用ExcelWriter以编程方式创建Excel报告,并且需要为客户端生成XPS报告。因此,我们要么直接转到XPS,这似乎是一个更大的学习曲线,或者将Excel报告转换为XPS。
答案 0 :(得分:3)
Office 2007有一个add on,可让您导出到XPS或PDF。通过Microsoft.Office.interop.Excel调用Excel并导出到XPS。
从我自己的代码(工作簿是一个实例,但提供完整的命名空间):
Microsoft.Office.Interop.Excel.Workbook.ExportAsFixedFormat(
Excel.XlFixedFormatType.xlTypeXPS,
pdfpath, Excel.XlFixedFormatQuality.xlQualityStandard,
true, true,
fpage, tpage,
false,
oMissing
);
如何执行此操作有MSDN article。
答案 1 :(得分:0)
我更喜欢Colin建议的方法,但您也可以在工作簿上使用SaveAs
,FileFormat
常量18
用于XPS,如相关问题所述:
答案 2 :(得分:0)
您也可以从Excel打印到XPS。不是技术上的转换,但可能正是你所需要的。
Dim ws As Worksheet
Set ws = ActiveSheet
Call ws.PrintOut(ActivePrinter:="Microsoft XPS Document Writer", _
PrintToFile:=True, PrToFileName:="S:\Temp\Test3.xps")