java通过freemarker导出word文档带图片并且循环

本文介绍了如何使用Java结合Freemarker模板引擎导出带有图片的Word文档。首先需要freemarker库,创建XML模板并转换为Word格式。用户通过网页选择图片组后,后台Servlet根据选择处理数据,计算各部分总和,将图片和数据填充到模板中,最后通过`WordUtils.exportMillCertificateWord`方法导出。整个过程涉及图片路径处理、数据循环和Freemarker模板的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请标明出处:
https://blog.youkuaiyun.com/weixin_41965979/article/details/80969287
本文出自付付讶的博客

1:所需jar包:freemarker(我用的是freemarker-2.3.18);

首先准备一个word模板(英文部分是要被你的数据所代替的)

2:把这个模板保存为xml格式

3:页面上写好按钮和下拉框选择第几组图片

<div style="width:100%;border:1px solid white;border-top:0px">
              <select id="imageoption">
                      <option  value="first" selected>第一组照片</option>
                      <option  value="second">第二组照片</option>
                      <option  value="third">第三组照片</option>
              </select>
              </div>
              <input type="hidden" value="" name="first" id="before"></input>
            
              <!-- 多选框选中传的ids -->
              <input type="hidden" id="ids" name="ids" value=""></input>
              
             <div class="search">
             <input type="button" value="导出为word" id="exportword1" οnclick="pass_word()">
             </input>
             </div> 

4:导出按钮触发的事件

//导出word
function pass_word(){
  //判断选择第几组照片
var options=$("#imageoption option:selected").val();
if(options=="first"){
$("#before").val("prefirst");
}else if(options=="second"){
$("#before").val("underfirst");
}else{
$("#before").val("afterfirst");
}  
var names="";
//road为复选框的name值
var checkb = document.getElementsByName("road");
  //选择导出多条时给name拼接一个逗号
  for(var i=1;i<checkb.length;i+

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值