Java实现pdf和Excel的生成及数据动态插入、导出.docx

Java实现pdf和Excel的生成及数据动态插入、导出.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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查询数据=========================================

文档评论(0)

150****6040 + 关注
实名认证
内容提供者

互联网产品运营推广以及k12教育内容。

1亿VIP精品文档

相关文档