以编程方式将Excel转换为XPS

时间:2009-05-19 18:32:11

标签: c# .net excel xps

我正在寻找一种以编程方式将Excel报表转换为XPS格式的方法。是否支持Microsoft框架中的任何位置,或者我们应该寻找第三方工具吗?

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

3 个答案:

答案 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建议的方法,但您也可以在工作簿上使用SaveAsFileFormat常量18用于XPS,如相关问题所述:

  

What is the FileType number for PDF in Excel 2007 that is needed to save a file as PDF through the API?

答案 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")
相关问题