word模版,另存成test.xml ,然后修改参数 。将test.xml改为test.ftl.
然后用网上的这段代码生成word文档。 打开时总是提示如下图(数据填入正确)
public void createDoc() {
//要填入模本的数据文件
Map dataMap=new HashMap();
getData(dataMap);
//设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,
//这里我们的模板是放在com.havenliu.document.template包下面
configuration.setClassForTemplateLoading(this.getClass(), "");
Template t=null;
try {
//test.ftl为要装载的模板
t = configuration.getTemplate("test.ftl");
} catch (IOException e) {
e.printStackTrace();
}
//输出文档路径及名称
File outFile = new File("D:/outFile.xml");
Writer out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
t.process(dataMap, out);
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally
{
try {
out.close(); //释放流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java freemarker 通过ftl模板导出word文档
循环列表需要加#list>标签的;
#list>加载哪个位置呢?
我写了个例子给你,但是代码太长,发不了,你对着图看看吧
使用java生成word文档中的ftl怎么写
Java语言提供了一种强大的注释形式:文档注释。可以将源代码里的文档注释提取成一份系统的API文档。我们在开发中定义类、方法时可以先添加文档注释,然后使用javadoc工具来生成自己的API文档。
文档注释以斜线后紧跟两个星号(/**)开始,以星号后紧跟一个斜线(*/)作为结尾,中间部分全部都是文档注释,会被提取到API文档中。
自行搜索一下javadoc即可,示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* 类描述
*
* @author 作者
* @version 版本
*/
public class DemoClass {
/**
* 内部属性:name
*/
private String name;
/**
* Setter方法
* @return name
*/
public String getName() {
return name;
}
/**
* Getter方法
* @param name
*/
public void setName(String name) {
this.name = name;
}
}
怎么把word文件转换成纯XML格式?
可以试一下迂回战术:
1.先将要转换的文档转换成pdf格式(用Adobe Acrobat 8 Professional或其他更高级版本);
2.在Adobe Acrobat 8 Professional将其导出为XML格式文件。
wps2011对ftl模板不支持怎么办
用高版本另存一次,再用2011打开,试试。
java方式导出word文档需要修改文字样式,跪求高手解决,急,在线等。
问题没说清楚。
对于word的操作,如果是 docx 可以把 docx当做zip来解压缩,解开后会得到文档的xml文件,稍加琢磨可以理解其中的含义,修改后,再更新回原zip更多
我的需求就是根据word模板导出word,然后word里面的内容需要从数据库查出来替换,现在我是使用FreeMarker的方式,把word另存为xml格式,然后改后缀名为ftl格式,现在能把里面的内容替换然后导出来,但是内容的样式不能改变。
哦,把模板中要改变的内容区域替换成 ${document},然后数据库中读到的内容赋值给document不就OK了?
问题是替换掉后,部分内容需要修改字体样式。
不知道你的ftl中的内容如何生成的,如果里面没有样式定义也谈不上改样式,建议你看看我说的docx 解压缩出的 document.xml ,其中是含有样式定义的,
例如: