C# 将Excel另存为PDF

C# 将Excel另存为PDF,c#,excel,pdf,C#,Excel,Pdf,我在c#中打开一个Excel文件,进行一些更改,并将其保存为pdf文件。 我搜索了一下,发现了以下内容: Microsoft.Office.Interop.Excel._Workbook oWB; oWB.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "D:\\xxxxx.pdf"); 但此代码有时会打开一个表单,并且必须选择打印机!我不知道为什么 从Excel导出PDF还有其他方法吗? 我看到工作簿.saveas()有一个Fileforma

我在c#中打开一个Excel文件,进行一些更改,并将其保存为pdf文件。 我搜索了一下,发现了以下内容:

Microsoft.Office.Interop.Excel._Workbook oWB;
oWB.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, "D:\\xxxxx.pdf");
但此代码有时会打开一个表单,并且必须选择打印机!我不知道为什么

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

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


如果您正在寻找替代方法,请查看GemBox。电子表格:

以下是如何将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);

您可以使用这个API来实现这一点。有关更多详细信息,请参阅文档


查看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);
它有一个免费版本,您可以免费使用:
(也可在NuGet上获得)

你可以选择什么是Charp?@Taw sorry csharp(C#)。我错过了“s”如何使用iTextSharp将Excel保存为PDF?据我所知,该库不支持读取Excel文件…@nixonuposen我认为这是显而易见的。但是您只需要使用First。另外,我无法在这两个库之间找到任何内置的互操作性,您用它们完成了这个任务吗?如果是的话,你的答案目前缺乏关于我们如何做到这一点的任何适当信息……我认为他想走另一条路:将Excel文件保存为PDF,而不是将PDF解析为Excel。但我相信如果他能够浏览文档,他一定会在那里找到解决方案。因为这些软件包既提供Excel到PDF,也提供PDF到Excel。但问题是他可能会去探索。我之所以提出这个建议,是因为当我陷入同样的问题时,这个API对我来说是一种生活品味。你可以探索自己,这里是链接