java 通过word模板生成新的带参数的word 后面一篇是把word转为pdf格式教程 2种方法 一种不支持图片 一种支持图片

本文介绍在2019年5月15日使用Java和POI 4.1框架,如何将带有参数的Word模板填充内容,并详细解释了将生成的Word文件转换为PDF的两种方法,包括支持和不支持图片的转换方案。提供了关键代码段和注意事项,如使用${值}作为占位符,并提供了缺失jar包的下载链接。
摘要由CSDN通过智能技术生成

当前时间为2019-5-15 

环境jdk8

poi4.1(有很多别的包 防止后续来参考的弄错包 我给你们打包好了 放在下面链接中 )

刚到新的公司 就接到了 一个这样的需求 通过java把word模板填充数值变为一个word文件 (一想就想到了poi)并且要转为pdf格式 (这里就不做分析了 看下一篇有讲解)

然后就开始着手 我用的是poi的4.1

创建项目-建造类-导入包-写方法


    

  /** 
      * 用一个docx文档作为模板,然后替换其中的内容,再写入目标文档中。 
      * 赵海鹏 2019-5-15
      * @throws Exception 
      */  
     
     @Test
     public void testTemplateWrite() throws Exception {  
        //获取值直接写入新的word中
        Map<String, Object> params = new HashMap<String, Object>();  
        params.put("", "");  
        params.put("", "");  
        params.put("", "");  
        params.put("", "");  
        params.put("", "");  
        params.put("", "");  
        String filePath = "D:\\需要读取的docx路径.docx";  
        InputStream is = new FileInputStream(filePath);  
        XWPFDocument doc = new XWPFDocument(is);  
        //替换段落里面的变量  
        this.replaceInPara(doc, params);  
        //替换表格里面的变量  
        this.replaceInTable(doc, params);  
        //最文末创建一个任意行表格
       //这里我加的这个动态获取是因为我们是web项目这个模板下面需要表格还是动态的 所以测试时候我就先随便给了两个值 h j。
        //控制h行j列
        int h=3;
        int j=5;
        XWPFTable table1 = doc.createTable(h, j);
        table1.setWidth(100);
        // 获取到刚刚插入的行
        XWPFTableRow row0 = table1.getRow(1);
        //合并单元格(这个是个公共方法 我写在了下面)
        mergeCellsHorizontal(table1,0,0,4);
        // 设置单元格内容
        row0.getCell(0).addParagraph().createRun().setText("这里是写表格的表头文字");
        row0.getCell(0).addParagraph().createRun().setBold(true);//加粗
        //设置样式
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值