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的更多相关文章

  1. 导出excel和PDF小结 vba

    最近接触了一个关于Access工具的项目,所以整理下需要使用的方法. 功能要求简介: 1.将数据表中的数据导出到excel和PDF 2.并根据某个字段名称分sheet输出. 3.无模板方式 方案简介: ...

  2. java操作office和pdf文件页面列表导出cvs,excel、pdf报表.

    在平常的开发中我们常常遇到不仅仅只是导出excel报表的情况.有时候也需要导出pdf或者CSV报 表.其实原理都差不多.刚开始本来不打算也这篇博客介绍这个的.感觉这篇博客和前面的博客有点雷同.原理基本 ...

  3. Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm

    Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...

  4. Ionic2+WebApi 导出Excel转Pdf文件。

    步骤: 1.首先在WebApi中先把excel生成好. 2.把excel转成Pdf,并返回下载的链接. 3.Ionic2的页面做好下载的接口. 嗯~思路很清晰,那么下面就来详细的操作吧. 以下是H5的 ...

  5. jquery插件导出excel和pdf(解决中文乱码问题)

    参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...

  6. 个人永久性免费-Excel催化剂功能第50波-批量打印、导出PDF、双面打印功能

    在倡导无纸化办公的今天,是否打印是一个碍眼的功能呢,某些时候的确是,但对于数据的留存,在现在鼓吹区块链技术的今天,仍然不失它的核心价值,数据报表.单据打印出来留存,仍然是一种不可或缺的数据存档和防篡改 ...

  7. Vue框架下实现导入导出Excel、导出PDF

    项目需求:开发一套基于Vue框架的工程档案管理系统,用于工程项目资料的填写.编辑和归档,经调研需支持如下功能: Excel报表的导入.导出 PDF文件的导出 打印表格 经过技术选型,项目组一致决定通过 ...

  8. 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...

  9. (Excel导出失败)检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失

    在DCOM 中不存在WORD.EXCEL等OFFICE组件   最近在做一个关于office转存PDF的Web项目.开发过程一切顺利. 起初在网上找到一些Word,PPT转PDF的代码.很好用.一切顺 ...

随机推荐

  1. Deep Reinforcement Learning with Iterative Shift for Visual Tracking

    Deep Reinforcement Learning with Iterative Shift for Visual Tracking 2019-07-30 14:55:31 Paper: http ...

  2. Oracle 优化SQL

    https://www.cnblogs.com/ios9/p/8012611.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2 ...

  3. react ui 参考网站

    react.semantic-ui.com react官方中文网址 https://zh-hans.reactjs.org/ es6标准入门 nodejs官网文档 nodejs.org https:/ ...

  4. 微信小程序 自定义tabbar实例

    在小程序的开发文档中,对tabbar是这样说明的: 如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 t ...

  5. 2-5 【ngFor指令 事件的处理和样式绑定】顶部导航支持选中状态

    索引的获取 first和last是布尔类型的 奇数偶数 []方括号表示的是数据绑定 ()圆括号就是事件绑定 . 开始代码 我们要实现的功能是菜单点击后,就变色 这样我们就得到了索引. 新建一个clas ...

  6. [LeetCode] 59. Spiral Matrix II 螺旋矩阵 II

    Given an integer n, generate a square matrix filled with elements from 1 to n^2 in spiral order. For ...

  7. [LeetCode] 380. Insert Delete GetRandom O(1) 插入删除获得随机数O(1)时间

    Design a data structure that supports all following operations in average O(1) time. insert(val): In ...

  8. [LeetCode] 445. Add Two Numbers II 两个数字相加之二

    You are given two linked lists representing two non-negative numbers. The most significant digit com ...

  9. Spring boot使用Aspose.Slides操作ppt转PDF、转图片

    最近要将ppt转为PDF和图片,Apache poi ,jacob都试了下 Apache poi 转图片乱码,处理了,还会存在部分乱码 jacob对系统依赖比较大,必须是windows还得安装MS O ...

  10. H5混合开发中android终端和ios终端常见的兼容问题1

    转自 https://blog.csdn.net/xuehu837769474/article/details/80603898 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上 ...