freemarker根据模板生成word文档,其它地方已经说的非常清除了,在此简单再说以下。

1、制作word模板,另存为xml文件。在此我另存为的时windows xml,它和windows 2003 xml有细微差别,但差别不大。权衡之下,我选择的是前者。

2、用word打开这个文件,先对里面需要填写的一个变量进行替换,然后保存退出。再用编辑器打开这个文件,找到刚才的那个自己填写的变量,会发现word自动把这个整体分开了,那么把中间那些多余的字符全部删掉,保存退出。在用word打开这个文档,剪切刚才那个变量,在原地粘贴一份,然后在其它需要变量替换的地方都粘贴一份,再把那些变量名字改一下,保存。此时退出应该已经模板已经制作好了,这个模板尽量不要改动,否则只要改动一个地方,那么那个${abc}就有可能再次被且分开。

此处虽然文字稍多,但是如果按照这种做法,在这一步还是能省很大功夫的。否则需要在满屏这样的字符中去找变量合并。

3、就是在程序中运行,进行变量替换然后输出了。在此又遇到一个问题就是换行的问题。因为在前台写的时候考虑到这个word对某些字符不容,所以用的只是textarea,但是再生成word的时候无法换行。

经查阅资料推测,textarea的换行符应该是"\n",而模板中的换行符推测是“<w:p></w:p>”,于是在程序中改成

dataMap.put("plan", task.getStr("plan").replaceAll("\r\n", "<w:p></w:p>"));

此时输出的文档中已经像在textarea中显示的一样换行了。

freemarker根据模板生成word文档,换行相关推荐

  1. 根据标准word模板生成word文档类库(开源)

    前言   最近因项目需要要自定义标准word模板,并以编码方式操作word模板.填充数据和生成word文档,于是自己写了条小"内裤"来实现这个功能.该"内裤"只 ...

  2. 使用word模板生成word文档的各类方案

    使用word模板生成word文档的各类方案 生成word的各种方案 word另存xml进行后续处理 2003版本word(.doc)的xml处理并生成word 2007版本word(.docx)的xm ...

  3. JAVA实现模板word文档导入,Java依据word模板生成word文档之后台解析和实现及部分代码(一)...

    Java根据word模板生成word文档之后台解析和实现及部分代码(一) 后台主要工作是解析XML定义的标签文件,并获取到数据集,放入到Map中,然后调用Jacob.jar中提供的相关方法来实现替换. ...

  4. Android 使用模板生成Word文档,支持手机直接查看word

    最近在项目工作中,碰到一个很棘手的需求,说是要在手机端根据模板生成word文档,而且不借助第三方的软件可以查看word文档,一开始听这个需求差不多蒙了,这要怎么做,为什么不把生成word文档这个工作放 ...

  5. PHP 使用word模板生成word文档示例

    <?php namespace Home\Controller; use PhpOffice\PhpWord\TemplateProcessor; use Think\Controller; c ...

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

    1. 处理word模板 1.1 定义word模版 1.2 定义完我们的模板之后,我们要将文档保存为xml的格式 定义完我们的模板之后,我们要将文档保存为xml的格式 1.3 xml格式化 生成的xml ...

  7. 如何使用word模板生成word文档(文本,图片)

    注意:只针对数据信息与图片信息进行生成. 一,准备工作 1,编辑word模板,变量信息以${变量名称}表示,图片要使用临时图片占用位置. 2,转换格式word输出为Word.xml文档格式,在手动改为 ...

  8. 根据模板生成word文档下载

    需求:根据数据库已有字段,填入写好的word并下载 工具 :freemark   一种方便生成word的引擎,内置好大量基础方法 思路: 一.将数据库数据按需求(根据id,根据name......)提 ...

  9. java后台利用模板生成Word文档提供前台下载

    2016.12.06更新,java后台利用Apache poi生成Excel文档提供前台下载,博客链接http://blog.csdn.net/u010251278/article/details/5 ...

最新文章

  1. git 无法拉取新的远程分支
  2. 工作87:element-ui el-table sortable属性 参数详解
  3. 深入解析 | Oracle Database 20c 十大新特性一览
  4. 你(wo)不注意的和数据类型有关的小细节
  5. listview选中高亮
  6. 讨论一道求质数的面试题
  7. JavaScript MD5加密实现
  8. 梦笔记2022-02-28
  9. XJOI恺撒加密术1级19段
  10. anaconda安装完怎么打开_录像机怎么样安装在机柜上,看完就明白
  11. 玩转华为ENSP模拟器系列 | 配置L3VdPdNd迭代SR-BE隧道示例
  12. 一分钟建立自己单位的故障报修平台
  13. adb shell get/setprop, setenforce...
  14. python 批量转换xls to xlsx,出现pywintypes.com_error: (-2147417848, ‘被调用的对象已与其客户端断开连接)’的问题处理
  15. JFreeChart展示柱状图和折线图的组合
  16. 【记录读论文时遇到的一些算法2】—— Occupancy Grid Map
  17. 杰克.韦尔奇的《赢》读后节选
  18. 屏幕翻拍_带有现代翻拍的前5大经典合作游戏
  19. 手把手教小白制作情侣天气推送号 【只需四步】
  20. 洛谷 P1606 [USACO07FEB]荷叶塘Lilypad Pond(spfa+最短路计数) 题解

热门文章

  1. 计及需求侧响应日前、日内两阶段鲁棒备用优化(Matlab代码实现)
  2. 沃尔玛的产品知识图谱
  3. Java第三章习题3-4(for循环输出俄文字母表)
  4. 输入框的三种触发事件
  5. 基于NLP的互联网情感分析与预警
  6. LK 打印log控制
  7. 下载mysql源码包
  8. 学习-Java字符串之String类常用方法之字符串长度
  9. 讲座回顾|2021/4/7|青源美团|CVPR 2021 预讲 · 美团专场,覆盖实例分割,图像分割,表情识别,特征选择和对齐...
  10. 分享美食菜谱,可以收藏哦