当前位置: 首页 > news >正文

深圳市网站设江西中联建设集团有限公司网站

深圳市网站设,江西中联建设集团有限公司网站,wordpress销量最高主题,网上花店网页制作素材使用deepoove根据模板导出word文档#xff0c;包括文本、表格、图表、图片#xff0c;使用WordConvertPdf可将word文档转换为pdf导出 模板样例#xff1a; 导出结果#xff1a; 一、引入相关依赖 !-- 工具类--dependencygroupIdcn.hutool包括文本、表格、图表、图片使用WordConvertPdf可将word文档转换为pdf导出 模板样例 导出结果 一、引入相关依赖 !-- 工具类--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.16/version/dependency!-- poi--dependencygroupIdcom.deepoove/groupIdartifactIdpoi-tl/artifactIdversion1.11.1/version/dependency!-- word转pdf--dependencygroupIdWordConvertPdf/groupIdartifactIdWordConvertPdf/artifactIdversion1.0/version/dependency 二、创建导出数据实体类 AllArgsConstructor NoArgsConstructor Data ApiModel(value ExportVO, description 导出VO) public class ExportVO {ApiModelProperty(value 标题)private String title;ApiModelProperty(value 名称)private String name;ApiModelProperty(value 数量)private Integer num;ApiModelProperty(value 集合数据)private ListExportListVO list;ApiModelProperty(value 表格)private ListExportListVO table;ApiModelProperty(value 柱状图)private ChartMultiSeriesRenderData barChart;ApiModelProperty(value 饼图)private ChartSingleSeriesRenderData pieChart;ApiModelProperty(value 折线图)private ChartMultiSeriesRenderData lineChart;ApiModelProperty(value 图片)private PictureRenderData img;} AllArgsConstructor NoArgsConstructor Data ApiModel(value ExportListVO, description 导出集合VO) public class ExportListVO {ApiModelProperty(value 类型)private String type;ApiModelProperty(value 数量)private Integer num;} 三、业务代码 /*** 文档导出** param fileType 导出文件类型1-docx,2-pdf* param response 响应流*/Overridepublic void exportFile(Integer fileType, HttpServletResponse response) throws IOException {//模板地址存放在resources目录下String filePath templates/word/test.docx;//使用poi-tl进行模板处理ConfigureBuilder builder Configure.builder();builder.useSpringEL(true);//执行循环策略LoopRowTableRenderPolicy strategy new LoopRowTableRenderPolicy();//绑定集合对象builder.bind(list, strategy);builder.bind(table, strategy);//获取模板文件流InputStream inputStream Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);assert inputStream ! null;//组装数据ExportVO data this.createData();XWPFTemplate render XWPFTemplate.compile(inputStream, builder.build()).render(data);// 设置强制下载不打开response.setContentType(application/force-download);response.addHeader(Access-Control-Expose-Headers, Content-Disposition);if (fileType.equals(1)) {//如果需要导出为wordresponse.addHeader(Content-Disposition, attachment; fileName new String((导出模板.docx).getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));render.write(response.getOutputStream());} else if (fileType.equals(2)) {//如果需要导出为pdfresponse.addHeader(Content-Disposition, attachment; fileName new String((导出模板.pdf).getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));BufferedOutputStream outputStream new BufferedOutputStream(response.getOutputStream());//设置临时文件的地址String tempPath UUID.randomUUID() .docx;//根据模板生成临时文件render.writeToFile(tempPath);//将docx流转换为pdf流FileInputStream fileInputStream new FileInputStream(tempPath);WordConvertPdf.getPdfStreamByWordStream(fileInputStream, outputStream);outputStream.flush();outputStream.close();fileInputStream.close();//删除临时文件File tempFile new File(tempPath);Files.delete(tempFile.toPath());log.debug(删除临时word文件{}, tempPath);}} 需要注意的时文档中需要循环的数必须绑定biulder 四、组装数据createData方法 private ExportVO createData() {ExportVO data new ExportVO();//普通文本data.setTitle(食品统计);data.setName(蔬菜统计);data.setNum(60);//集合数据ListExportListVO list new ArrayList();list.add(new ExportListVO(黄瓜, 10));list.add(new ExportListVO(茄子, 20));list.add(new ExportListVO(番茄, 30));//添加循环文本数据data.setList(list);//添加表格数据data.setTable(list);//添加柱状图数据ChartMultiSeriesRenderData barChart new ChartMultiSeriesRenderData();barChart.setChartTitle(蔬菜统计柱状图);barChart.setCategories(list.stream().map(ExportListVO::getType).toArray(String[]::new));ListSeriesRenderData barChartSeriesData new ArrayList();barChartSeriesData.add(new SeriesRenderData(箱, list.stream().map(ExportListVO::getNum).toArray(Integer[]::new)));barChart.setSeriesDatas(barChartSeriesData);data.setBarChart(barChart);//添加饼图数据ChartSingleSeriesRenderData pieChart new ChartSingleSeriesRenderData();pieChart.setChartTitle(蔬菜统计饼图);pieChart.setCategories(list.stream().map(ExportListVO::getType).toArray(String[]::new));pieChart.setSeriesData(new SeriesRenderData(箱, list.stream().map(ExportListVO::getNum).toArray(Integer[]::new)));data.setPieChart(pieChart);//添加折现图ChartMultiSeriesRenderData lineChart new ChartMultiSeriesRenderData();lineChart.setChartTitle(蔬菜统计折线图);lineChart.setCategories(list.stream().map(ExportListVO::getType).toArray(String[]::new));ListSeriesRenderData lineChartSeriesData new ArrayList();lineChartSeriesData.add(new SeriesRenderData(箱, list.stream().map(ExportListVO::getNum).toArray(Integer[]::new)));lineChart.setSeriesDatas(lineChartSeriesData);data.setLineChart(lineChart);//添加图片PictureRenderData img new PictureRenderData(800, 200, D:\\files\\img\\test.jpg);data.setImg(img);return data;} 五、模板说明 1.这里面由{{}}包裹的内容对应ExportVO 实体中的属性名称 2.这里的list对应ExportVO实体中的list属性循环list写入文本并判断是否是最后一条数据最后一条数据由.句号结尾 3.table对应ExportVO实体中table属性type和num对应集合实体类ExportListVO中的type和num 4.模板中右键柱状图查看可选文字修改替换文字为ExportVO实体中柱状图属性名称{{barChart}} 5.模板中右键饼图查看可选文字修改替换文字为ExportVO实体中饼图属性名称{{pieChart}} 6.模板中右键折线图查看可选文字修改替换文字为ExportVO实体中折线图属性名称{{lineChart}} 7.模板中右键图片查看可选文字修改替换文字为ExportVO实体中图片属性名称{{img}}
http://www.hkea.cn/news/14399207/

相关文章:

  • 专业做营销网站网络广告策划的流程顺序为
  • 网站标题字体大小个人网站视频建设
  • 网站建设总体规划包括怎样免费设计logo
  • 郑州网站设计收费大型社区网站开发文档
  • 56m做图片视频的网站是什么wordpress模板关系
  • 最传统的网站推广手段济南建设工程招标网
  • 黄梅那里有做网站的房地产营销门户网站开发
  • 网站建设怎么样工作软装设计师要学什么
  • 淘宝网站建设手机版wordpress 报名插件
  • 加强宣传阵地建设 高校 网站养生网站源码下载
  • 网站交易移动网络
  • 做交易网站需要用到的软件有哪些网站建设费用5万入账
  • 小猫mip网站建设wordpress错位
  • 关于建设网站的需求分析wordpress装修门户
  • 怎么查网站的域名备案价格linux 做网站用哪个版本
  • 城阳城市规划建设局网站如何自己建网站服务器
  • 亚马逊注册没有公司网站怎么做设备网站模板
  • 诸城哪里有做网站的室内设计师网上接单的平台
  • 广西美丽乡村建设网站wordpress创始人
  • 网站建设2018需要什么中国建设教育协会报名网站
  • 网站想要被收录要怎么做图片转换成网址链接
  • 建中英文网站长沙口碑好网站建设
  • dedecms网站版权信息微信公众号做视频网站
  • 什么网站教做美食3分钟宣传片制作费用
  • 中国建材工程建设协会网站重庆网站公司
  • 网站开发工作总结论文优秀自适应网站建设哪家好
  • 制作网页的网站费用属于资本性支出吗网络规划与设计专业
  • 深圳龙华 网站建设网站建设一条龙包括哪些服务
  • 博客网站开发背景及作用计算机网页制作题教程
  • 辽宁省建设厅网站官网交互做的很好的网站