|
前一段时间有网友问Excel转pdf怎么转pdf,小编帮他实现了一个,方法是使用EPPlus和PdfSharp组件实现,由于依赖OfficeOpenXml他也没有用上,后来小编又实现了二种不依赖OfficeOpenXml的方法。本文将介绍这三种方法实现Excel转pdf。
一、EPPlus和PdfSharp组件实现
逻辑是先将Excel内容转换为HTML字符串,然后再将HTML字符串转换为PDF文件。转换过程中的格式和样式可能会有一些差异,您可能需要根据需求进行进一步的调整和优化。
使用方法
1、首先使用“NuGet 包管理器”安装EPPlus和PdfSharp
2、在代码页面引用- using IronPdf;
- using OfficeOpenXml;
复制代码 3、建两个方法ConvertExcelToPdf和ExcelToHtml
ConvertExcelToPdf方法用于将Excel文件转换为PDF文件,ExcelToHtml这个方法将Excel工作表的内容转换为HTML字符串。代码如下:
[code] public static void ConvertExcelToPdf(string excelFilePath, string pdfFilePath) { // 读取Excel文件 using (ExcelPackage package = new ExcelPackage(new FileInfo(excelFilePath))) { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; // 假设要转换的工作表是第一个工作表 // 创建一个HTML字符串,将Excel内容转换为HTML string htmlContent = ExcelToHtml(worksheet); // 使用IronPDF将HTML字符串转换为PDF var renderer = new HtmlToPdf(); renderer.PrintOptions.MarginTop = 0; renderer.PrintOptions.MarginBottom = 0; renderer.PrintOptions.MarginLeft = 0; renderer.PrintOptions.MarginRight = 0; var pdf = renderer.RenderHtmlAsPdf(htmlContent); // 保存PDF文件 pdf.SaveAs(pdfFilePath); } } public static string ExcelToHtml(ExcelWorksheet worksheet) { var sb = new StringBuilder(); sb.AppendLine("[table]"); var startRow = worksheet.Dimension.Start.Row; var endRow = worksheet.Dimension.End.Row; var startColumn = worksheet.Dimension.Start.Column; var endColumn = worksheet.Dimension.End.Column; for (int row = startRow; row |
|