- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java实现pdf和Excel的生成及数据动态插入、导出
Excel、PDF的导出、导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策。
公司有这么两个需求:
需求一、给了一个表单,让把查出来的数据组装到表单中并且提供以PDF格式的下载功能。
需求二、将数据查出来以Excel表格的形式下载下来。
二、Java实现PDF的生成和数据动态插入、导出功能
1、第一步:PDF制作模板
因为PDF常用的软件不让支持编辑,我们就先使用WPS以Word的形式进行编辑制作出与客户需求一样的样式,然后直接另存为 .pdf 的形式如下图所示:
a.Word里面制作模板
b.更改名字为 .pdf形式
c.这时需要用到一个叫:Adobe Acrobat DC的软件,具体操作如下:
用Adobe Acrobat DC打开我们刚才改过名字的PDF文件,点击右下角的“更多工具”按钮
到下面这个页面再点击“准备表单”按钮
d.接下来就需要详细的配置你的数据源了
数据源即:你代码中实体类中对应的数据(注意字段一定要一一对应),配置完毕就可以保存进行下面的代码编写工作了。
2
代码的编写
假定我们实体类什么的都已经编写完成、数据通过前端传入获取、模板位置在E盘根目录下名字为:车辆维修审批单.pdf
导入jar包:
<dependency>????<groupId>com.itextpdfgroupId>????<artifactId>itextpdfartifactId>????<version>5.5.13version>dependency>
实现生成PDF、数据插入、导出
@RegisterToSMP(serviceDisplay?=?"预览页面PDF下载")??????@RequestMapping(value?=?"/DM/gwclwxsq/qygl/exportPDF$m=query.service",method?=RequestMethod.POST)?public?String?exportPdf(@RequestBody?GwclwxsqBean?gwclwxsqBean?,?HttpServletResponse?response)?throws?UnsupportedEncodingException?{????????????????//?1.指定解析器????System.setProperty("javax.xml.parsers.DocumentBuilderFactory",????????????"ernal.jaxp.DocumentBuilderFactoryImpl");????String?filename="车辆维修审批单.pdf";????String?path="e:/";????response.setContentType("application/pdf");????response.setHeader("Content-Disposition",?"attachment;fileName="????????????+?URLEncoder.encode(filename,?"UTF-8"));????OutputStream?os?=?null;????PdfStamper?ps?=?null;????PdfReader?reader?=?null;????try?{????????os?=?response.getOutputStream();????????//?2?读入pdf表单????????reader?=?new?PdfReader(path+?"/"+filename);????????//?3?根据表单生成一个新的pdf????????ps?=?new?PdfStamper(reader,?os);????????//?4?获取pdf表单????????AcroFields?form?=?ps.getAcroFields();????????// 5给表单添加中文字体?这里采用系统字体。不设置的话,中文可能无法显示????????BaseFont?bf?=?BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",??????????????????????BaseFont.IDENTITY_H,?BaseFont.EMBEDDED);????????form.addSubstitutionFont(bf);????????//?6查询数据=========================================
您可能关注的文档
- “12306”的架构到底有多牛逼?.docx
- 7 年 Java 后端被淘汰,一路北漂,一路心酸.docx
- 8年开发,一直不知道 Java为什么要加 final 关键字!.docx
- 10w 行级别数据的 Excel 导入优化记录 (2).docx
- 10w 行级别数据的 Excel 导入优化记录.docx
- 12 个顶级 Bug 跟踪工具(建议收藏).docx
- 12 个非常适合做私活或外包项目的开源后台管理系统.docx
- 19张图带你梳理SpringCloud体系中的重要技术点!.docx
- 47K Star 的SpringBoot+MyBatis+docker电商项目,附带超详细的文档!.docx
- 52条SQL语句性能优化策略,建议收藏.docx
- AUTOSAR_SWS_OS电子行业标准.pdf
- AUTOSAR_SWS_NVRAMManager电子行业标准.pdf
- r20ut3766ej0100_rfp电子行业标准.pdf
- AUTOSAR_SWS_SAEJ1939NetworkManagement电子行业标准.pdf
- AUTOSAR_SWS_PlatformTypes电子行业标准.pdf
- AUTOSAR_SWS_WatchdogDriver电子行业标准.pdf
- AUTOSAR_SWS_WirelessEthernetDriver电子行业标准.pdf
- AUTOSAR_TR_TimingAnalysis电子行业标准.pdf
- Continental_AUTOSAR Center电子行业标准.pdf
- EB_AUTOSAR Tooling in practice电子行业标准.pdf
1亿VIP精品文档
相关文档
最近下载
- 人教PEP版五年级下册英语全册教学课件(2024年2月修订).pptx
- DB32T 4301-2022《装配式结构工程施工质量验收规程》(修订).pdf
- 《经济博弈论(第三版)》谢识予PPT课件.ppt
- 2022届高三作文“兼听则明,偏信则暗”审题指导及优秀范文.docx VIP
- 2021-2022学年浙江省“9 1”高中联盟高一年级下册学期期中数学试题【含答案】.pdf
- 整数加法运算定律推广到小数教学设计.pdf VIP
- 给水管网改造施工方案.pdf
- 双馈异步风力发电控制系统研究.pdf
- 超星网课尔雅《国学智慧》超星尔雅答案2023章节测验答案.pdf
- 逻辑与思维+知识梳理课件-2024届高考政治一轮复习统编版选择性必修三.pptx VIP
文档评论(0)