C# 将Excel导出PDF
1、安装所需包,使用nuget安装所需包
1.1、Spire.Xls
1.2、iTextSharp.text.pdf
2、Spire.Xls介绍
将Excel转换为PDF是一个很常用的功能,常见的转换场景有以下三种:
2.1、转换整个Excel文档到PDF
2.2、转换Excel文档的某一个工作表到PDF
2.3、转换Excel文档的某一个工作表的某一部分单元格到PDF
ps:Spire是收费,所以导出excel有如下字样。

解决方法:使用空白图片对字样覆盖操作即可。
//方法一
Workbook workbook = new Workbook();
workbook.LoadFromFile("示例.xlsx");
workbook.SaveToFile("输出.pdf", FileFormat.PDF); //方法二、对excel某一个sheet生成pdf
Workbook workbook = new Workbook();
workbook.LoadFromFile("示例.xlsx");
Worksheet sheet = workbook.Worksheets[];
sheet.SaveToPdf("输出1.pdf");
3、使用空白图片对字样pdf进行覆盖操作
private void Excel2PDF(string resourcePdfPath)
{ Workbook workbook = new Workbook();
//加载excel文件
workbook.LoadFromFile("excel路径");
Worksheet sheet = workbook.Worksheets[];
//使用spire生成pdf
sheet.SaveToPdf(resourcePdfPath);
stream.Close();
}
//利用空白图片去掉上图红字字样
private void AddImgToPDF(string resourcePdfPath,string savePdfPath ,string blackImgPath)
{
//加载有字样的pdf模板
PdfReader reader = new PdfReader(resourcePdfPath);
PdfStamper pdfStamper = new PdfStamper(reader, new FileStream(savePdfPath, FileMode.Create));
int iPageNum = reader.NumberOfPages; //pdf页面数
AcroFields pdfFormFields = pdfStamper.AcroFields;
string imagePath = blackImgPath;
//加载空白图片
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(imagePath);
//设置空白图片位置
img.SetAbsolutePosition(, );
//对pdf每页进行空白填充
for (int j = ; j <= iPageNum; j++)
{
PdfContentByte over = pdfStamper.GetOverContent(j);
over.AddImage(img);
}
pdfStamper.Close();
reader.Close();
} private string ExportPDF(string pdfName)
{
string tempDirPath = Server.MapPath("/Templates/Excel/");
string tempPdfPath = tempDirPath + DateTime.Now.ToFileTime() + ".pdf";
Excel2PDF(tempPdfPath);
string blackImgPath = tempDirPath + "black.png";
string savePdfPath = tempDirPath + pdfName + ".pdf";
AddImgToPDF(tempPdfPath, savePdfPath, blackImgPath);
FileInfo file = new FileInfo(tempPdfPath);
file.Delete();
return savePdfPath;
}
C# 将Excel导出PDF的更多相关文章
- 导出excel和PDF小结 vba
最近接触了一个关于Access工具的项目,所以整理下需要使用的方法. 功能要求简介: 1.将数据表中的数据导出到excel和PDF 2.并根据某个字段名称分sheet输出. 3.无模板方式 方案简介: ...
- java操作office和pdf文件页面列表导出cvs,excel、pdf报表.
在平常的开发中我们常常遇到不仅仅只是导出excel报表的情况.有时候也需要导出pdf或者CSV报 表.其实原理都差不多.刚开始本来不打算也这篇博客介绍这个的.感觉这篇博客和前面的博客有点雷同.原理基本 ...
- Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm
Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...
- Ionic2+WebApi 导出Excel转Pdf文件。
步骤: 1.首先在WebApi中先把excel生成好. 2.把excel转成Pdf,并返回下载的链接. 3.Ionic2的页面做好下载的接口. 嗯~思路很清晰,那么下面就来详细的操作吧. 以下是H5的 ...
- jquery插件导出excel和pdf(解决中文乱码问题)
参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...
- 个人永久性免费-Excel催化剂功能第50波-批量打印、导出PDF、双面打印功能
在倡导无纸化办公的今天,是否打印是一个碍眼的功能呢,某些时候的确是,但对于数据的留存,在现在鼓吹区块链技术的今天,仍然不失它的核心价值,数据报表.单据打印出来留存,仍然是一种不可或缺的数据存档和防篡改 ...
- Vue框架下实现导入导出Excel、导出PDF
项目需求:开发一套基于Vue框架的工程档案管理系统,用于工程项目资料的填写.编辑和归档,经调研需支持如下功能: Excel报表的导入.导出 PDF文件的导出 打印表格 经过技术选型,项目组一致决定通过 ...
- 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...
- (Excel导出失败)检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失
在DCOM 中不存在WORD.EXCEL等OFFICE组件 最近在做一个关于office转存PDF的Web项目.开发过程一切顺利. 起初在网上找到一些Word,PPT转PDF的代码.很好用.一切顺 ...
随机推荐
- 自己搭建gitlab服务,组员不能上传代码
原因是因为 没有拉分支 直接在master 上开撸代码 ,master 分支 默认是受保护的,具体操作如下
- PostMan Request Export
- Firefox 浏览器的长期支持版本(Firefox ESR)
http://ftp.mozilla.org/pub/firefox/releases/ Firefox 浏览器 下载地址 http://m.newsmth.net/article/Browsers ...
- Layui 点击查询分页,页码不刷新解决方法
Layui 点击查询分页,页码不刷新解决方法 function queryDataGrid() { layui.table.reload(tableName, { where: { //设定异步数据接 ...
- Redis 操作帮助类
首先从Nuget中添加StackExchange.Redis包 1.Redis连接对象管理帮助类 using Mvc.Base; using Mvc.Base.Log; using StackExch ...
- Python3基础 list clear 清空列表中的内容
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Qt 图片缩放参数计算
缩放图片 void VCImgWidget::wheelEvent(QWheelEvent *event) { ) { // 当滚轮远离使用者时 //ui->textEdit->zoomI ...
- Python高级笔记(十一)装饰器【面试】
1. 需求 开发封闭原则:虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被拓展,即: 封闭:已实现的功能代码块 开发:对拓展开发 2. ...
- 转 zabbix debug and zabbix使用percona插件监控mysql
########## https://www.cnblogs.com/keithtt/p/8542987.html zabbix使用percona插件监控mysql 1.添加percona仓库. ...
- zookeeper学习整理
概述 zookeeper是一个高可用的分布式数据管理与协调框架,基于ZAB算法实现,主要解决分布式一致性问题. https://www.cnblogs.com/felixzh/p/5869212.ht ...