我正在寻找一种以编程方式将Excel报表转换为XPS格式的方式。这是否支持Microsoft框架中的任何地方,还是应该寻找第三方工具?以编程方式将Excel转换为XPS
是的,目前我们正在使用ExcelWriter以编程方式创建Excel报表,并且需要为客户端生成XPS报表。所以我们要么直接去看似更大的学习曲线的XPS,要么将Excel报告转换为XPS。
我正在寻找一种以编程方式将Excel报表转换为XPS格式的方式。这是否支持Microsoft框架中的任何地方,还是应该寻找第三方工具?以编程方式将Excel转换为XPS
是的,目前我们正在使用ExcelWriter以编程方式创建Excel报表,并且需要为客户端生成XPS报表。所以我们要么直接去看似更大的学习曲线的XPS,要么将Excel报告转换为XPS。
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。
我宁愿科林建议的方法,但你也可以在工作簿中此相关的问题描述使用SaveAs
与XPS的FileFormat
不变的18
:
您也可以从Excel打印到XPS。不是技术上的转换,但可能正是你需要的。
Dim ws As Worksheet
Set ws = ActiveSheet
Call ws.PrintOut(ActivePrinter:="Microsoft XPS Document Writer", _
PrintToFile:=True, PrToFileName:="S:\Temp\Test3.xps")