将Excel另存为PDF

时间:2018-03-13 18:34:58

标签: c# excel pdf

我在c#中打开一个Excel文件,进行一些更改,我想将其保存为pdf文件。 我搜索过它并找到了这个:

Microsoft.Office.Interop.Excel._Workbook oWB;
oWB.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "D:\\xxxxx.pdf");

但是此代码有时会打开表单并且必须选择打印机!我不知道为什么?!

还有其他方法可以从Excel导出PDF吗? 我看到Workbook.saveas()有一个Fileformat对象。我们如何使用它?

4 个答案:

答案 0 :(得分:0)

使用iTextSharp。它是本机.NET代码。不需要任何Excel互操作 -

https://www.nuget.org/packages/itextsharp/

答案 1 :(得分:0)

如果您正在寻找替代方法,请查看GemBox.Spreadsheet: https://www.nuget.org/packages/GemBox.Spreadsheet/

以下是使用它将Excel保存为PDF的方法:

ExcelFile excel = ExcelFile.Load("D:\\xxxxx.xlsx");
excel.Save("D:\\xxxxx.pdf");

或者你可以写成如下:

XlsxLoadOptions loadOptions = new XlsxLoadOptions();
ExcelFile excel = ExcelFile.Load("D:\\xxxxx.xlsx", loadOptions);

PdfSaveOptions saveOptions = new PdfSaveOptions();
excel.Save("D:\\xxxxx.pdf", saveOptions);

答案 2 :(得分:0)

查看 Spire.Xls ,下面是将Excel转换为PDF的代码。

Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");

//If you want to make the excel content fit to pdf page
//workbook.ConverterSetting.SheetFitToPage = true;

workbook.SaveToFile("result.pdf", Spire.Xls.FileFormat.PDF);

它有免费版本,您可以免费使用: https://www.e-iceblue.com/Introduce/free-xls-component.html(也可在NuGet上找到)

答案 3 :(得分:-1)

您可以使用此API执行此操作。有关更多详细信息,请参阅文档。

http://cdn.bytescout.com/help/BytescoutPDFExtractorSDK/html/55590148-5bef-4338-ac16-1de4056a952b.htm