注册
|
登录
发帖
热搜
活动
交友
discuz
论坛
BBS
翼度工具
翼度网址导航
开发工具
Linux命令速查
网页设计配色表
在线制作icon
颜色代码选取器
翼度科技
»
论坛
›
编程开发
›
.net
›
查看内容
返回列表
发新帖
三种方法让.NET轻松实现Excel转PDF
昭平哥哥
昭平哥哥
当前离线
积分
6
2
主题
2
帖子
6
积分
新手上路
新手上路, 积分 6, 距离下一级还需 44 积分
新手上路, 积分 6, 距离下一级还需 44 积分
积分
6
发消息
显示全部楼层
前一段时间有网友问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
上一篇:
第四单元 泛型
下一篇:
三种方法让.NET轻松实现Excel转PDF
发表于 2023-6-13 14:06:27
举报
回复
使用道具
分享
返回列表
发新帖
本版积分规则
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
快速回复
快速回复
返回顶部
返回顶部
返回列表
返回列表