翼度科技»论坛 编程开发 .net 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
前一段时间有网友问Excel转pdf怎么转pdf,小编帮他实现了一个,方法是使用EPPlus和PdfSharp组件实现,由于依赖OfficeOpenXml他也没有用上,后来小编又实现了二种不依赖OfficeOpenXml的方法。本文将介绍这三种方法实现Excel转pdf。
一、EPPlus和PdfSharp组件实现
逻辑是先将Excel内容转换为HTML字符串,然后再将HTML字符串转换为PDF文件。转换过程中的格式和样式可能会有一些差异,您可能需要根据需求进行进一步的调整和优化。
使用方法
1、首先使用“NuGet 包管理器”安装EPPlus和PdfSharp
2、在代码页面引用
  1. using IronPdf;
  2. 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

举报 回复 使用道具