做网站一天忙吗,域名icp备案查询,潍坊网站做的好的公司,建网站基础知识文章目录 一、单个饼状图生成1.word模版制作2.编写接口完整代码3.导出结果 二、批量生成饼图1.word模版制作2.编写接口完整代码3.导出结果 一、单个饼状图生成
1.word模版制作
在word中创建一个饼状图#xff0c;点击图表#xff0c;点击“文本选项”#xff0c;在可选文字… 文章目录 一、单个饼状图生成1.word模版制作2.编写接口完整代码3.导出结果 二、批量生成饼图1.word模版制作2.编写接口完整代码3.导出结果 一、单个饼状图生成
1.word模版制作
在word中创建一个饼状图点击图表点击“文本选项”在可选文字标题中填入{{pieChart}}
2.编写接口完整代码 GetMapping(/exportWord)public void exportWord(HttpServletResponse response) throws FileNotFoundException {//存放数据也就是填充在word里面的值MapString, Object params new HashMap();params.put(title,测试使用poi-tl模版导出word);ChartSingleSeriesRenderData pie Charts.ofSingleSeries(测试第一个饼图, new String[] { 男, 女 }).series(countries, new Integer[] { 9826675, 9596961 }).create();params.put(pieChart, pie);// 或模板在静态资源的相对路径File rootFile new File((ResourceUtils.getURL(classpath:).getPath()));File templateFile new File(rootFile, /static/templates/exportWord.docx);//jar包获取不到文件路径//URLDecoder.decode() 解决获取中文名称文件路径乱码String templatePath URLDecoder.decode(templateFile.getPath());//生成文件名String fileName new SimpleDateFormat(yyyyMMddHHmmss).format(new Date()) _ System.currentTimeMillis();// 导出woldtry {// 导出Word文档为文件XWPFTemplate template XWPFTemplate.compile(templatePath,builder.build()).render(params);// 将导出的Word文件转换为流response.setContentType(application/octet-stream);response.setHeader(Content-disposition,attachment;filename\fileName.docx\);// HttpServletResponse responseOutputStream out response.getOutputStream();BufferedOutputStream bos new BufferedOutputStream(out);template.write(bos);bos.flush();out.flush();// 最后不要忘记关闭这些流。PoitlIOUtils.closeQuietlyMulti(template, bos, out);} catch (Exception e) {System.out.println(导出Word文档时出现异常 e.getMessage());}}
3.导出结果 二、批量生成饼图
1.word模版制作
在word中创建一个饼状图点击图表点击“文本选项”在可选文字标题中同样填入{{pieChart}}
2.编写接口完整代码 GetMapping(/exportWord)public void exportWord(HttpServletResponse response) throws FileNotFoundException {//存放数据也就是填充在word里面的值MapString, Object params new HashMap();params.put(title,测试使用poi-tl模版导出word);ListMapString, Object list new ArrayList();MapString, Object map new HashMap();map.put(a,测试);map.put(b,米);map.put(c,201312);ChartSingleSeriesRenderData pie Charts.ofSingleSeries(测试第一个饼图, new String[] { 男, 女 }).series(countries, new Integer[] { 9826675, 9596961 }).create();map.put(pieChart, pie);list.add(map);MapString, Object map1 new HashMap();map1.put(a,测试2);map1.put(b,千米);map1.put(c,2012312);ChartSingleSeriesRenderData pie1 Charts.ofSingleSeries(测试第二个饼图, new String[] { 上海, 广州 }).series(countries, new Integer[] { 253, 985 }).create();map1.put(pieChart, pie1);list.add(map1);params.put(list,list);// 或模板在静态资源的相对路径File rootFile new File((ResourceUtils.getURL(classpath:).getPath()));File templateFile new File(rootFile, /static/templates/exportWord.docx);//jar包获取不到文件路径//URLDecoder.decode() 解决获取中文名称文件路径乱码String templatePath URLDecoder.decode(templateFile.getPath());//生成文件名String fileName new SimpleDateFormat(yyyyMMddHHmmss).format(new Date()) _ System.currentTimeMillis();// 导出woldtry {// 导出Word文档为文件XWPFTemplate template XWPFTemplate.compile(templatePath,builder.build()).render(params);// 将导出的Word文件转换为流response.setContentType(application/octet-stream);response.setHeader(Content-disposition,attachment;filename\fileName.docx\);// HttpServletResponse responseOutputStream out response.getOutputStream();BufferedOutputStream bos new BufferedOutputStream(out);template.write(bos);bos.flush();out.flush();// 最后不要忘记关闭这些流。PoitlIOUtils.closeQuietlyMulti(template, bos, out);} catch (Exception e) {System.out.println(导出Word文档时出现异常 e.getMessage());}}3.导出结果