-1

我正在寻找一种以编程方式将 Excel 报告转换为 XPS 格式的方法。这在 Microsoft 框架中的任何地方都支持吗,还是我们应该寻找第三方工具?

是的,目前我们正在使用 ExcelWriter 以编程方式创建 Excel 报告,并且需要为客户生成 XPS 报告。因此,我们要么直接使用 XPS,这似乎是一个更大的学习曲线,要么将 Excel 报告转换为 XPS。

4

3 回答 3

3

Office 2007有一个插件,可让您导出为 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 文章。

于 2009-05-19T18:42:06.477 回答
0

我更喜欢 Colin 建议的方法,但您也可以SaveAs在工作簿上使用FileFormat常量18for XPS,如相关问题中所述:

通过 API 将文件另存为 PDF 所需的 Excel 2007 中 PDF 的 FileType 编号是多少?

于 2009-05-19T19:31:56.027 回答
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")
于 2015-10-20T10:24:53.193 回答