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

iText+FreeMarker+JFreeChar 导出带柱形图+分页+中文PDF 用的是ITextRenderer,这个不支持分页,后来靠百度搜到了分页相关的知识,因为在页面加了循环,所以建了bean类,为达目的费了不少劲,现将代码整理分享出来,期待帮助别人 pom.xml <dependencies> <dependency> <groupId>org.springframework.bo... 阅读详情

项目场景:

上个博客生成了一个静态的柱状图 也就是将柱状图的图片放到word里,这个博客说说 ftl文件里给他设置数据动态


1创建.docx文档模板:

类似于这样的模板

 


2.生成xml在线解析格式然后转ftl:

类似于这样

它里面会有这样几个标签

<Relationship Id="rId12" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart" Target="charts/chart1.xml"/>

<Relationship Id="rId13" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml" Target="../customXml/item2.xml"/>

这两个标签的id 和 Target的值都是可以改变的 ,然后找到它Target 对应的xml文件

比如这样

 

这两个name值也都是可以变的 当然 对应着这个xml的标签也要变

/word/charts/_rels/chart1.xml.rels 它里面放的应该是柱状图的结构  
就是这三个标签对应的Target 不要删除
<Relationship Id="rId16" Type="http://schemas.microsoft.com/office/2011/relationships/chartColorStyle"         Target="colors1.xml"/>
<Relationship Id="rId15" Type="http://schemas.microsoft.com/office/2011/relationships/chartStyle" Target="style1.xml"/>
<Relationship Id="rId14" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/package" Target="../embeddings/Workbook1.xlsx"/>
/word/charts/chart1.xml 它里面放的应该是 柱状图的的数据 就是那根柱子的高低

它里面的标签就是柱状图的数据 例如下图

 

 

改动这些数据就可以改动柱状图的数据了

接下来就是去找柱状图放的位置了

<w:body>这个标签里 去找
<w:p>
    <w:pPr>
        <w:pStyle w:val="2"/>
        <w:numPr>
            <w:ilvl w:val="0"/>
            <w:numId w:val="2"/>
        </w:numPr>
    </w:pPr>
    <w:r>
        <w:rPr>
            <w:rFonts w:hint="eastAsia"/>
            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
        </w:rPr>
        <w:t>柱状图lwh</w:t>
    </w:r>
</w:p>
<w:p>
    <w:bookmarkStart w:id="0" w:name="_GoBack"/>
    <w:r>
        <w:drawing>
            <wp:inline distT="0" distB="0" distL="114300" distR="114300">
                <wp:extent cx="5080000" cy="3810000"/>
                <wp:effectExtent l="4445" t="4445" r="20955" b="14605"/>
                <wp:docPr id="1" name="图表 1"/>
                <wp:cNvGraphicFramePr/>
                <a:graphic
                        xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
                    <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart">
                        <c:chart
                                xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
                                xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:id="rId12"/>
                    </a:graphicData>
                </a:graphic>
            </wp:inline>
        </w:drawing>
    </w:r>
    <w:bookmarkEnd w:id="0"/>
</w:p>

这里就是放柱状图的位置 它里面会引用上面的pkg标签 也就是柱状图的xml 例如下图

一定要对应最上面那个pkg的id

这样 ftl就改好了

 

传多个柱状图:

多个柱状图就写个list在那个标签上让他循环 循环的时候要给他唯一标识 否则柱状图都一样

例如下图

 

然后就是循环柱状图里的数据

 

如果对您有帮助 请 点赞 转发 ,谢谢 最后生成 就这样

 

 

 

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

相关推荐

基于Apache POI的poi-tl模板引擎:Java动态生成Word文档的声明式解决方案

在Java企业级应用开发中,动态生成格式规范的Word文档(如合同、报告、通知单)是一项常见需求。传统方式使用Apache POI等库进行硬编码操作,存在代码臃肿、样式与逻辑耦合度高、维护成本大等问题。模板引擎技术通过将文档样式设计与数据逻辑分离,提供了更优雅的解决方案。其核心原理是预先在Word中设计包含占位符的模板文件,程序运行时将数据模型与模板合并渲染,自动生成最终文档。这种声明式方法极大提升了开发效率和系统可维护性,尤其适用于需要频繁调整模板样式的场景。poi-tl作为基于Apache POI构建的

weixin_34302798的博客 421

SptingBoot基于Echarts生成折线图,柱状图,超详细~~

近期产品团伙给了一个生成PDF数据报的需求,PDF中需要生成折线图,梯状折现图,柱状图等需求以及一些表格信息的东西,我这边就去找到前端开发工程师,但是前端工程师并没有好的方案给出,于是乎就由后台开发来生成图片,并写入PDF中。下面我把我生成统计图的方法(大部分参考+整合)写成文章,需要的兄弟姐妹们可以参考和纠正我。

qq1328585964的博客 3569

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

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

echart freemarker 模板_SpringBoot集成Freemarker模板生成Echarts图片(三)

紧接着前面两篇,本篇采用Freemarker模板来生成Echarts图片。一. 项目结构二. Freemarker模板(1)柱状图{"title":{"text":"${title}","textStyle":{"color":"red","fontSize":15,"fontWeight":"bolder"}},"tooltip":{"formatter":"{a}{b}:{...

weixin_36084686的博客 837

freemarker wrod 统计图的生成

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

Freemarker导出word示例,包括jfreechart图表

通过freemarker,实现word模板中占位符的赋值以及赋值后的word文档生成。通过jfreechart生成柱状图和饼图,并在word文档中显示。

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

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

2301_81284374的博客 2905

DSP在线升级方案:TMS320C6678使用网络或者串口输出升级数据进行固件升级

下面这段先引用创龙的说明 IBL 运行后, 将从 NOR FLASH 或 NAND FLASH 的 0x00080000 地址引导 ELF/BBLOB 格式 用户程序。 当引导 ELF 格式用户程序时, IBL 会解析用户程序头部信息,并根据头部信息 拷贝不同的代码段至指定 CPU 内存地址,然后将 PC 指针跳转至_c_int00, 再运行用户程 序。当引导 BBLOB 格式用户程序时,由于无头部信息, IBL 会将用户程序拷贝至 0x9E000000 (该内存地址为 IBL 代码指定),并将 PC..

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 1941

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

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

微微一笑满城空 9843

模型检测--工具KeYmaera

论文:KeYmaera: A Hybrid Theorem Prover for Hybrid Systems 作者:Andre Platzer and JanKeYmaera摘要1 介绍2用于混合系统的KeYmaera验证工具3混合系统,混合自动机和混合程序 摘要 KeYmaera是一种用于混合系统的混合验证工具,它结合了演绎,实数代数和计算机代数证明者技术。它是自然的自动和交互式定理证明器 混合系统的规范和验证逻辑。 KeYmaera支持差分动态逻辑,它是用于混合程序的实值一阶动态逻辑,是混合自动机的程

ziigea的博客 1076

景观格局指数计算方法及代表的生态学意义(待补充)

景观指数 斑块密度(PD) 斑块密度(PD)表现某种斑块在景观中的密度,可反映出景观整体的异质性与破碎度[17],公式为PD=NP/A(1)式中NP———斑块数量,个A———景观或斑块的总面积,hm2PD———斑块密度,个/hm2 最大斑块指数(LPI) 最大斑块指数(LPI)用于确定景观中的优势斑块类型,间接反映人类活动干扰的方向和大小,公式为LPI=amaxA×100%(0≤LPI≤100%)(2)式中amax———景观或某一种斑块类型中最大斑块的面积,hm2LPI———最大斑块指数,% 凝聚

soderayer的博客 13万+

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

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

doublewba的专栏 681

3-RRR并联机器人结构详解:从运动学到奇异点分析(附MATLAB仿真代码)

本文详细解析了3-RRR并联机器人的结构设计、运动学建模及奇异点分析,并提供了MATLAB仿真代码。通过对称性设计和可分析性,3-RRR结构成为教学与研究的理想对象。文章从基础杆件参数设置到奇异位形的实时捕捉,深入探讨了机构运动的数学本质,并分享了仿真调试中的实用技巧,助力工业自动化和精密控制应用。

sunny的博客 343

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

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

qq_32352777的博客 2万+

Mamba-YOLO实战:环境配置+模型训练+精度调优全流程指南(附Colab代码)

在目标检测领域,一场由状态空间模型引发的技术革新正在悄然改写行业格局。近期国际顶级学术期刊连续发布的YOLOv5_mamba、FER-YOLO等突破性成果,不仅刷新了检测精度记录,更开创了结构化状态空间模型(SSM)与经典检测框架的创新融合范式。当前该领域涌现的十大标杆性研究,已在以下维度取得突破性进展:√ 遮挡目标识别准确率提升38%√ 小样本场景泛化能力增强2.7倍√ 视频流检测延迟降低至17ms√ 多目标交叉干扰抑制效果达SOTA。

2501_90555291的博客 1581

简单VASP计算INCAR设置(结构优化OPT、静态自洽SCF、能带BAND、态密度DOS)

改变 K 点、NBANDS、晶胞、ENCUT、POTCAR、自旋或 SOC 后要检查兼容性。该参数不参与物理计算,因此不会改变总能量、受力、应力或最终结构。如果研究的是金属、磁性材料、表面、二维材料、分子、缺陷、DFT+U、杂化泛函或强自旋轨道耦合体系,部分参数必须调整。适合已经用 IBRION = 2 预优化、力较小、自由度较多的结构。在 IBRION = 1、2、3 中,它只是内部缩放因子。“不能修改”不是程序禁止修改,而是修改后会改变理论模型、数值精度或能量参考,使结果不能直接比较。

weixin_51420530的博客 124

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

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

zianY的博客 4296

openclaw中文版安装教程和常用命令

OpenClaw 中文版的和,涵盖本地一键部署、Docker 隔离部署、阿里云极速部署三种方式,以及六大类高频命令,方便你快速上手和日常运维。

suny8的专栏 2995

word中java导出图表若干问题

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

huangqing510的专栏 1376

WPF中使用TreeView封装组合控件TreeView+DataGrid

wpf的功能非常强大,很多控件都是原生的,但是要使用TreeView+DataGrid的组合,就需要我们自己去封装实现。功能如上图所示, 目前基本上把常用的样式都实现了,购买源码后,可以自行修改样式。本文源码效果如下,(搞了好几天,的确有难度,所以源码也收费,便宜,赚点辛苦费)第一种:技术的选择是TreeView(也就是本文的演示)。这2个图都是第三方控件自带的,并且都是收费使用。首先说明一下,实现上面的效果,有3种方法。本文演示的是使用TreeView的实现。第二种:技术的选择是DataGrid。

故里2130 1650

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

EChars页面图表数据导出为pdf需求记录

需求 将多个页面导出为pdf格式。其中页面主要是一些文字描述、表格信息。图表主要是各种折线图、各种柱状图、饼图之类的图表,类似于如下图。 想到的解决方案是,建一个包含所有页面的ftl的文本。文本包含基本的数据描述,后台进行数据填充,图表是拿到关键数据后,转化成Base64的图表数据,然后填充到相应的位置。数据填充完成后生成pdf文件进行下载。但是下载出来的图形数据有点丑。大概是这样的。 图表的...

liaosilei0927的博客 648

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java通过freemaker实现健康报告生成(包含列表、列表合并列)

1、添加freemaker依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.20</version> </dependency> 2、先将要导出生成的健康报告文件生成xml .

tanqingfu1的博客 1631

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

qq_24678763的博客 2541

大量数据(含图片)、格式自定义的 Excel 生成思路

对于文本类型的数据,只需在 xml 标签里面直接填入文字即可,而对于图片或是其它资源,xml 无法直接表示,但可以与具体类型的文档约定转换规则。excel 本质上是一种压缩包,图片是直接以文件的方式存放在压缩包的 root\xl\media\ 目录下,在另存为 xml 时,仅将文字描述信息保存,图片直接丢失了。2、将步骤 1 中的 xml 另存为 ftl,通过 freemarker 生成一份包含数据的 xml,其中,图片部分按照上述格式填入图片的标识。好在有一个基本的解决思路了。时间有限,后续会继续补充!

weixin_42058995的博客 2398

freemarker模板导出带表格word详细教程

一。整体环境: 开发环境:java,eclipse 部署环境:tomcat7/jar包两种方式 二。功能需求:(数据需要导出成以下格式) 1.简单一点的文本类: 2.复杂一点的 三。准备工作: 先准备好Freemarker模版:步骤如下: 1.我们需要做的就是把需要导...

Java大表哥的博客 1万+
上一篇: 使用FreeMarker给word文档里生成柱状图
下一篇: 到底调用第三方服务的接口呢
LWH21
博客等级 码龄7年 4粉丝 8原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值