Программно конвертировать Excel в XPS - PullRequest
0 голосов
/ 19 мая 2009

Я ищу способ программно конвертировать отчеты Excel в формат XPS. Поддерживается ли это где-нибудь в рамках Microsoft или мы должны искать сторонний инструмент?

Да. В настоящее время мы программно создаем отчеты Excel с использованием ExcelWriter, и нам необходимо создать отчеты XPS для клиента. Таким образом, мы либо перейдем непосредственно к XPS, который кажется более сложной кривой обучения, либо преобразуем отчет Excel в XPS.

Ответы [ 3 ]

3 голосов
/ 19 мая 2009

Существует дополнение для для Office 2007, которое дает вам возможность экспортировать в XPS или PDF. Вызовите Excel через Microsoft.Office.interop.Excel и экспортируйте в XPS.

Из моего собственного кода (Workbook - это экземпляр, но вместо него предоставляется полное пространство имен):

Microsoft.Office.Interop.Excel.Workbook.ExportAsFixedFormat(
    Excel.XlFixedFormatType.xlTypeXPS,
    pdfpath, Excel.XlFixedFormatQuality.xlQualityStandard,
    true, true,
    fpage, tpage,
    false,
    oMissing
);

Есть MSDN статья о том, как это сделать.

0 голосов
/ 20 октября 2015

Вы также можете распечатать из Excel в XPS. Технически не конвертируется, но может быть именно тем, что вам нужно.

Dim ws As Worksheet
Set ws = ActiveSheet
Call ws.PrintOut(ActivePrinter:="Microsoft XPS Document Writer", _
                PrintToFile:=True, PrToFileName:="S:\Temp\Test3.xps")
0 голосов
/ 19 мая 2009

Я бы предпочел метод, предложенный Колином, но вы также можете использовать SaveAs в книге с константой FileFormat 18 для XPS, как описано в этом связанном вопросе:

Какой номер типа файла для PDF в Excel 2007 необходим для сохранения файла в формате PDF через API?

...