freemarker根据模板生成word文档,换行
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文档,换行相关推荐
- 根据标准word模板生成word文档类库(开源)
前言 最近因项目需要要自定义标准word模板,并以编码方式操作word模板.填充数据和生成word文档,于是自己写了条小"内裤"来实现这个功能.该"内裤"只 ...
- 使用word模板生成word文档的各类方案
使用word模板生成word文档的各类方案 生成word的各种方案 word另存xml进行后续处理 2003版本word(.doc)的xml处理并生成word 2007版本word(.docx)的xm ...
- JAVA实现模板word文档导入,Java依据word模板生成word文档之后台解析和实现及部分代码(一)...
Java根据word模板生成word文档之后台解析和实现及部分代码(一) 后台主要工作是解析XML定义的标签文件,并获取到数据集,放入到Map中,然后调用Jacob.jar中提供的相关方法来实现替换. ...
- Android 使用模板生成Word文档,支持手机直接查看word
最近在项目工作中,碰到一个很棘手的需求,说是要在手机端根据模板生成word文档,而且不借助第三方的软件可以查看word文档,一开始听这个需求差不多蒙了,这要怎么做,为什么不把生成word文档这个工作放 ...
- PHP 使用word模板生成word文档示例
<?php namespace Home\Controller; use PhpOffice\PhpWord\TemplateProcessor; use Think\Controller; c ...
- Java根据word模板生成word文档并转成PDF文件
1. 处理word模板 1.1 定义word模版 1.2 定义完我们的模板之后,我们要将文档保存为xml的格式 定义完我们的模板之后,我们要将文档保存为xml的格式 1.3 xml格式化 生成的xml ...
- 如何使用word模板生成word文档(文本,图片)
注意:只针对数据信息与图片信息进行生成. 一,准备工作 1,编辑word模板,变量信息以${变量名称}表示,图片要使用临时图片占用位置. 2,转换格式word输出为Word.xml文档格式,在手动改为 ...
- 根据模板生成word文档下载
需求:根据数据库已有字段,填入写好的word并下载 工具 :freemark 一种方便生成word的引擎,内置好大量基础方法 思路: 一.将数据库数据按需求(根据id,根据name......)提 ...
- java后台利用模板生成Word文档提供前台下载
2016.12.06更新,java后台利用Apache poi生成Excel文档提供前台下载,博客链接http://blog.csdn.net/u010251278/article/details/5 ...
最新文章
- git 无法拉取新的远程分支
- 工作87:element-ui el-table sortable属性 参数详解
- 深入解析 | Oracle Database 20c 十大新特性一览
- 你(wo)不注意的和数据类型有关的小细节
- listview选中高亮
- 讨论一道求质数的面试题
- JavaScript MD5加密实现
- 梦笔记2022-02-28
- XJOI恺撒加密术1级19段
- anaconda安装完怎么打开_录像机怎么样安装在机柜上,看完就明白
- 玩转华为ENSP模拟器系列 | 配置L3VdPdNd迭代SR-BE隧道示例
- 一分钟建立自己单位的故障报修平台
- adb shell get/setprop, setenforce...
- python 批量转换xls to xlsx,出现pywintypes.com_error: (-2147417848, ‘被调用的对象已与其客户端断开连接)’的问题处理
- JFreeChart展示柱状图和折线图的组合
- 【记录读论文时遇到的一些算法2】—— Occupancy Grid Map
- 杰克.韦尔奇的《赢》读后节选
- 屏幕翻拍_带有现代翻拍的前5大经典合作游戏
- 手把手教小白制作情侣天气推送号 【只需四步】
- 洛谷 P1606 [USACO07FEB]荷叶塘Lilypad Pond(spfa+最短路计数) 题解