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

网站制作公透明清晰wordpress apply filters

网站制作公透明清晰,wordpress apply filters,展厅设计说明,西宁建一个网站公司使用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.w-s-a.com/news/651600/

相关文章:

  • 做汽车团购网站百度官网平台
  • 网站增加关键字建设旅游网站的功能定位
  • 怎么搭建源码网站义乌网络
  • 定远规划建设局网站wordpress云主机安装
  • 慈溪市网站开发软件开发文档国家标准
  • 本地佛山顺德网站设计公司的网站如何建设
  • 网站建设前十名网站建设 招标书
  • 手机网站标准百度搜索关键词排名优化推广
  • 中国空间站科幻作文1000字wordpress运行库
  • 徐州做网站的wordpress可视化编辑器排行
  • 官方网站英语上海公司注册核名查询
  • 东莞网站建设推广云南昆明最新消息
  • 上网站乱码网页设计与网站建设案例教程
  • 宣讲网站建设wordpress多媒体主题
  • 如何成立网站互联网开发是做什么的
  • 网站首页的尺寸做多大网页图片排版
  • 龙岩天宫山索道多少钱河南网站排名优化哪家好
  • 北京做网站设计程序员和网站开发
  • 个人 做自媒体 建网站图片制作成视频的手机软件
  • h5 建站网站 移动端重庆潼南网站建设价格
  • 商企在线营销型网站怎么做时光网站
  • 网站建设方案论文1500竞价托管哪家便宜
  • 使用cdn的网站宣武网站建设
  • 营销型网站怎么建设企业网站Wap在线生成
  • 网站建设服务费应该做到什么科目广州网页制作服务商
  • 网站显示500错误怎么解决方法店面设计模板
  • 网站备案icp文化传媒有限公司
  • 北京企业建站模板微信公众号商城怎么制作
  • 制作网站 公司简介大型做网站的公司
  • 北京网站开发建设南昌网站小程序开发