使用FreeMarker给word文档里生成柱状图

Java生成复杂word文档 结合freemarker+docx4j+POI         简单说下java生成word文档的各个组件优缺点(详细网上有很多),POI、JXL等过于原生,如果制作简单的几页word文档还能接受,如果文档十几二十页。。。会头疼死,并且word一旦大了以后,样式很容易乱,很不美观;freemarker利用模板生成word文档,开发相对简单,但是freemarker是利用xml标签传入模板的,一旦在模板里加了部分标签(例如 list),模板就不可... 阅读详情

学习目标:

使用FreeMarker给word文档里生成柱状图


1制作ftl文件:

   1.先创建个空白的word文档 然后插入柱状图

   

2.另存为xml文件 打开后是这样

 

3.百度搜索 XML 在线格式化 转化格式为这样

4.把这些内容粘贴到文本里格式改为ftl 像这样


生成word:

自己到百度搜个生成word文档的方法

wordutil

/**
 * 生成word文件
 * @param dataMap word中需要展示的动态数据,用map集合来保存
 * @param templateName word模板名称,例如:test.ftl
 * @param filePath 文件生成的目标路径,例如:D:/wordFile/
 * @param fileName 生成的文件名称,例如:test.doc
 */
@SuppressWarnings("unchecked")
public static void createWord(Map dataMap,String templateName,String filePath,String fileName){
    Writer out = null;
    try {
        //创建配置实例
        Configuration configuration = new Configuration();
        //设置编码
        configuration.setDefaultEncoding("UTF-8");
        //ftl模板文件
        configuration.setClassForTemplateLoading(WordUtil.class,"/");
        //获取模板
        Template template = configuration.getTemplate(templateName);
        //输出文件
        File outFile = new File(filePath+File.separator+fileName);
        //如果输出目标文件夹不存在,则创建
        if (!outFile.getParentFile().exists()){
            outFile.getParentFile().mkdirs();
        }
        //将模板和数据模型合并生成文件
        out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"UTF-8"));
        //生成文件
        template.process(dataMap, out);
    } catch (Exception e) {
        e.printStackTrace();
    }finally{
        if(out != null){
            try {
                //关闭流
                out.flush();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

main方法里里生成出来

// 生成word
WordUtil.createWord(dataMap, "freeMark/testReportNew7.ftl", filePath, fileName);

 

 

展示word:

最后就成这个了

当然 这些数据是静态的!如果需要动态的需要给ftl文件里加pkg标签

告别手动复制粘贴!用Java和poi-tl自动化生成带柱状图的Word质量报告 本文详细介绍了如何利用Java和poi-tl实现Word质量报告的自动化生成,包括动态表格和柱状图的创建。通过模板化设计和分层数据模型,大幅提升报告生成效率,特别适用于政务、企业等需要频繁生成标准化报告的场景。 阅读详情

相关推荐

freemarker wrod 统计图的生成

统计图片在word文档的生成 方法有两种,一种是生成图片在客户端放入word文档,另一种是直接将图片的64编码放入word文档当中

Java通过POI或Freemarker生成word文档,使用Jfreechart创建统计图表

Java,POI或Freemarker生成word文档,Jfreechart创建统计图表,饼图、柱状图、折线图

qq_24678763的博客 2541

java根据动态模板生成pdf(包含柱状图)所需jar包

java根据动态模板生成pdf(包含柱状图)所需jar包 iText+FreeMarker+JFreeChart生成可动态配置的PDF文档。 iText有很强大的PDF处理能力,但是样式和排版不好控制,直接写PDF文档,数据的动态渲染很麻烦。 FreeMarker能配置动态的html模板,正好解决了样式、动态渲染和排版问题。 JFreeChart有这方便的画图API,能画出简单的折线、柱状和饼图,基本能满足需要

使用Freemarker生成Word文档并在文档内添加Echarts图形报表或循环添加表格、图片数据

一、制作.ftl后缀的word模板文件 1、新建一个word文档模板        &am

zianY的博客 4296

美亚杯2023参赛全攻略:从检材下载到Veracrypt挂载的保姆级教程

本文提供美亚杯2023电子数据取证竞赛的完整参赛指南,重点解析从检材下载、Veracrypt挂载到实战取证的保姆级流程。针对新手常见误区,详细说明两套密码(ZIP解压密码与Veracrypt挂载密码)的区别与正确使用方法,并分享赛前环境搭建、赛中高效分析及赛后报告撰写的核心技巧,帮助参赛者系统备赛,规避基础错误。

y9z0a1b的博客 1078

【人工智能】AI算法系统设计与算法建模的详细阐述

AI算法系统设计与算法建模是人工智能领域中的核心任务之一,它涉及从问题定义、数据收集、算法选择、模型构建到系统部署的全过程。以下是对AI算法系统设计与算法建模的详细阐述

weixin_51306394的博客 4355

FreeMarker之FTL指令

assign指令 此指令用于在页面上定义一个变量 (1)定义简单类型: <#assign linkman="周先生"> 联系人:${linkman} (2)定义对象类型: <#assign info={"mobile":"13301231212",'address':'北京市昌平区王府街'} > 电话:${info.mobile...

weixin_30332241的博客 207

保姆级教程:用STM32单片机实现国标交流充电桩的CP信号检测(附完整代码)

本文详细介绍了基于STM32单片机实现国标交流充电桩CP信号检测的全流程,包括硬件设计、软件架构和充电控制实现。通过分压电路设计、ADC配置和状态机逻辑,确保充电过程的安全与可靠性,适用于新能源汽车充电桩开发。附完整代码和调试技巧,助力开发者快速掌握关键技术。

weixin_42641998的博客 251

项目中使用freeMarker创建自定义表单

自定义模板 修改xml变成ftl格式 ,将ftl格式文件放入templates下,用idea打开在ctrl +A 然后ctrl +alt+L格式化 折叠起来看到有多个pkg 主要是修改document.xml这个pkg 自定义文字模板 自定义表格 改变为 自定义图片的模板 编码 @ApiOperation(value = "导出方式三", notes = "导出文件") @PostMapp...

果vinegar的博客 1027

别再瞎猜了!三角形接法PMSM的相电流到底怎么算?实测线电流转换公式与避坑指南

本文深入解析三角形接法永磁同步电机(PMSM)在FOC控制中的相电流计算误区,提供实测线电流转换公式与避坑指南。针对矢量控制系统中常见的√3换算错误,详细阐述正确的电流重构算法、硬件采样要点及软件优化技巧,帮助工程师实现精确控制并避免电机损坏。

weixin_30367873的博客 465

CTF-MISC:BUUCTF练习汇总(1-25题,不包括签到题)

解题思路:该题比较基础,wireshark打开过滤HTTP流量包,追踪HTTP流后可以看到base64密文,解密后得到jpg图片,打开图片即可看到flag,在线OCR识别即可提取出flag值。解题思路:zip压缩包解压需要密码,图片中的盲文为解压的密码,解压后得到MP3音频文件,内容为典型的摩斯密码;解题思路:由题目可以为LSB隐写,使用StegSolve打开图片查看最低有效位得到PNG信息,另存为图片后发现是二维码,扫描后即可得到flag。对应摩斯电码为:-.-. - …-. .-- .–. . …

燕麦葡萄干的博客 1万+

使用freemarker导出word(含图片 表格动态行)

import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.Output

nightwar的专栏 2143

如何使用Ray和PyTorch训练模型

用户编写训练函数 → 定义单机训练逻辑。通过扩缩容配置 → 指定需要多少资源(Worker 数量、CPU/GPU)。训练器整合训练函数和配置 → 自动将训练函数分发到多个 Worker 上并行执行。Worker 运行训练函数 → 在分布式环境中完成模型训练。通过这种模式,Ray Train 实现了对分布式训练的抽象,用户只需关注单机训练逻辑,无需手动管理分布式通信和资源分配。

m0_62464865的博客 1922

FreeMarker给word文档里生成多个柱状图(数据可修改)

项目场景: 上个博客生成了一个静态的柱状图 也就是将柱状图的图片放到word里,这个博客说说 ftl文件里给他设置数据动态 1创建.docx文档模板: 类似于这样的模板 2.生成xml在线解析格式然后转ftl: 类似于这样 它里面会有这样几个标签 <Relationship Id="rId12" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target.

LWH21的博客 2661

Android 13 内置xapk安装包的方法

安装xapk 内置xapk

安卓兼职framework和app工程师的博客 222

在 SAP ABAP 生态中偏爱面向对象,而不是过程式堆叠

本文探讨了ABAP开发中过程式与面向对象编程的共存现状及优化方向。文章指出,虽然过程式编程在ABAP中仍广泛存在,但随着业务复杂度提升,面向对象编程在可维护性、可测试性和重构便利性方面展现出明显优势。作者建议将过程式代码作为"适配层",仅负责输入输出转换,而将核心业务逻辑封装在类中。文章通过实际案例展示了这种架构如何提高交付效率,并提供了将Function Module转化为"薄包装"的具体实现方案,强调面向对象设计在SAP Gateway和RAP等现代架构中的重要性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 132

使用Freemarker配合JFreeChart生成图表动态修改word文档数据

本文介绍使用JFreeChart与Freemarker结合,动态生成图表并插入Word文档的过程。首先利用JFreeChart根据实时数据绘制图表转为图片,然后在Freemarker模板中引用该图片,并结合其它动态数据填充到Word文档中,实现文档内容的自动更新和动态化报告生成,以提升报告制作效率及灵活性。

2301_81284374的博客 2905

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java根据word模板生成word文档并转成PDF文件

Java根据word模版生成带有图片和表格的word文件,并转成PDF

微微一笑满城空 9843

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

使用JFreeChart做成柱状图写入word的总结

1.用到以下jar包 2.准备好含有图片的word文档,另存问xml文件,改为freemark模板文件(ftl),用编译器找到 使用·JFreeChart做成柱形图,代码如下: 传入相应的数据,保存成jpg图片,转成Base64存入相应的模板变量里即可: 将数据写入freemark模板。保存到指定路径: 效果如图: 至此,Java写出含柱状图的word文

smilegirlswyh的博客 3840

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

FreeMarker+JFreeChart生成包含图表图片的word文档

一、制作模板 1、创建模板word文档 创建类似《demo.docx》的模板文档,其中包含文字内容、图片内容,特别注意:图片必须贴上内容,并且如果需要多个图片的话不能使用同一张图片,如果不贴图片或者使用同一张图片的话后边的.ftl文件无法修改。 2、另存为word xml格式文件,打开文件将需要填充内容的地方用“${xxx}”补充,图片部分先不动,如demo.xml示例。 3、把demo.xml文件后缀名改为“.ftl”,用notepad++打开demo.ftl,对其中图片部分进行修改,将

doublewba的专栏 681

java生成word(报告报表)含统计图表图片、循环表格,Spring Boot整合word生成

先给大家一个效果图: 左侧是word模板,右侧是生成后的word文档。 在工作中经常用到会有一些生成统计报告、请假等word的功能需求,小编之前做了一些报表的生成,使用过freemarker和poi,但是使用freemarker生成word有一些麻烦的点: 需要先将模板word转化为xml,而且在模板word中写好的占位符${obj}也会在转化为xml后被拆分开,还需要人工处理一次...

qq_32352777的博客 2万+

Java生成Word文档图文数据报表

效果图 由于源码标签太长不方便全部展示,这里仅展示部分 首先,要先准备好初始Word模板,一定要确保档能在Offce的Word中打开,因为Office是不兼容WPS的某些格式。 然后再另存为xml格式的文件,这里建议使用Word软件中的另存为xml方式,直接更改后缀名可能会乱码,确保没有乱码然后再将后缀更改为.ftl。 接下来导入工具类所需依赖 <!-- 引入Freemarker的依赖 --> <dep......

Junyaxx的博客 2930

easypoi导出word表格_如何用Java语言优雅地导出Word文档

前言在日常的开发工作中,我们时常会遇到导出Word文档报表的需求,比如公司的财务报表、医院的患者统计报表、电商平台的销售报表等等。导出Word方式多种多样,通常有以下几种方式:1.使用第三方Java工具类库Hutool的Word工具类,参考网址 为https://www.hutool.cn/docs/#/poi/Wor...

weixin_39609622的博客 1145

带有图表的模版 使用FreeMarker转word

自己编辑的doc模版,如果带有图标(as:柱状图)。则需要使用Word进行另存为本地。如果使用Wps进行保存的话,有可能会使最终导出的word使用wps可以打开,使用Word打不开的情况。Up主就碰到了这样的坑。

qq_59650194的博客 323

word中java导出图表若干问题

利用FreeMarker导出word相关经验分享 分享人:潘炜栋 分享时间:2019.06.27 1.FreeMarker简介: ​ FreeMarker生成word文档的功能是由XML+FreeMarker来实现的。先把word文件另存为xml,在xml文件中插入特殊的字符串占位符($),将xml翻译为FreeMarker模板(ftl文件),最后用java来解析FreeMarker模板,编码调...

huangqing510的专栏 1376

freemarker的使用

Freemarker的使用方法

weixin_44464850的博客 447
上一篇: SpringBoot自定义打包
下一篇: FreeMarker给word文档里生成多个柱状图(数据可修改)
LWH21
博客等级 码龄7年 4粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值