灵芝 发表于 2023-6-13 14:08:28

三种方法让.NET轻松实现Excel转PDF

前一段时间有网友问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字符串。代码如下:
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; // 假设要转换的工作表是第一个工作表                // 创建一个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("");            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
页: [1]
查看完整版本: 三种方法让.NET轻松实现Excel转PDF