我在c#中打开一个Excel文件,进行一些更改,我想将其保存为pdf文件。 我搜索过它并找到了这个:
Microsoft.Office.Interop.Excel._Workbook oWB;
oWB.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "D:\\xxxxx.pdf");
但是此代码有时会打开表单并且必须选择打印机!我不知道为什么?!
还有其他方法可以从Excel导出PDF吗? 我看到Workbook.saveas()有一个Fileformat对象。我们如何使用它?
答案 0 :(得分:0)
使用iTextSharp。它是本机.NET代码。不需要任何Excel互操作 -
答案 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