新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

JAVA

?/p>

Freemarker

生成

word

使用小结

 

肖教燎,

2016

?/p>

5

?/p>

2

?/p>

 

 

一、制?/p>

word

模板?/p>

 

1

?/p>

 

先使用记事本,将所需的文字录好,将所需的变量用英文字母表示(如

xinming,xinbie

?/p>

,变量尽量复杂一点,再拷入到

word

中,最好是

word2003

?/p>

 

2

?/p>

 

?/p>

word

另存?/p>

Word 2003 XML

格式?/p>

 

3

?/p>

 

可以?/p>

XML

文件用可以可美化的软件打开,以便更好搜索?/p>

(非必要?/p>

 

4

?/p>

 

搜索变量,如搜索?/p>

xinming

,将其改?/p>

${xinming}

,所有变量以此类推?/p>

 

5

?/p>

 

如果涉及到数据是一个集合,

则需遍历数据?/p>

通常是表格中的数据,

?/p>

word

模板中为一行,但要调用多行数据写入

word

。方法如下:搜索

<w:tr

,通常?/p>

到的第一个为表头?/p>

可能需要从找到的第二个开始;

?/p>

<w:tr

之前加上

<#list 

?/p>

合名?/p>

 

as 

替代?/p>

>

,如

<#list 

users 

as 

user>

;搜索随后的

</w:tr>

,后面加?/p>

</#list>

;将集合里的变量用替代名替代,如

${user}

,如果该

list

的变量是一

个复杂变量,还可以是这种形式,如

${user.username}

?/p>

 

6

?/p>

 

将文件的扩展名改?/p>

ftl

?/p>

 

二、生?/p>

word

步骤及可能出现的问题?/p>

 

1

、下?/p>

freemarker

,下载网址?/p>

 

https://sourceforge.net/projects/freemarker/?source=typ_redirect

 

2

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

freemarker.template.Configuration

?/p>

freemarker.template.Template

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

Map

?/p>

?/p>

?/p>

?/p>

?/p>

Template.process

方法,即生成新的

word

文档?/p>

 

3

、问?/p>

1

:经常出现有

FileNotFoundException

问题,模块文件默认是放在类所

在目录的

(即

src

的相关目录下?/p>

这点很奇怪,

一般我们会认为在项目根目录?/p>

?/p>

经研究官方的

API

,原?/p>

freemarker

在加载模板时,建议使?/p>

TemplateLoader

?/p>

定从哪个目录开始加载模板,

并且将模板加载在缓存中,

?/p>

TemplateLoader

的两

个实现类举例说明?/p>

 

一?/p>

FileTemplateLoader

文件模板加载器,可以通过文件的绝对路径加载模板:

 

Configuration cfg = new Configuration(); 

TemplateLoadertemplateLoader=null; 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

JAVA

?/p>

Freemarker

生成

word

使用小结

 

肖教燎,

2016

?/p>

5

?/p>

2

?/p>

 

 

一、制?/p>

word

模板?/p>

 

1

?/p>

 

先使用记事本,将所需的文字录好,将所需的变量用英文字母表示(如

xinming,xinbie

?/p>

,变量尽量复杂一点,再拷入到

word

中,最好是

word2003

?/p>

 

2

?/p>

 

?/p>

word

另存?/p>

Word 2003 XML

格式?/p>

 

3

?/p>

 

可以?/p>

XML

文件用可以可美化的软件打开,以便更好搜索?/p>

(非必要?/p>

 

4

?/p>

 

搜索变量,如搜索?/p>

xinming

,将其改?/p>

${xinming}

,所有变量以此类推?/p>

 

5

?/p>

 

如果涉及到数据是一个集合,

则需遍历数据?/p>

通常是表格中的数据,

?/p>

word

模板中为一行,但要调用多行数据写入

word

。方法如下:搜索

<w:tr

,通常?/p>

到的第一个为表头?/p>

可能需要从找到的第二个开始;

?/p>

<w:tr

之前加上

<#list 

?/p>

合名?/p>

 

as 

替代?/p>

>

,如

<#list 

users 

as 

user>

;搜索随后的

</w:tr>

,后面加?/p>

</#list>

;将集合里的变量用替代名替代,如

${user}

,如果该

list

的变量是一

个复杂变量,还可以是这种形式,如

${user.username}

?/p>

 

6

?/p>

 

将文件的扩展名改?/p>

ftl

?/p>

 

二、生?/p>

word

步骤及可能出现的问题?/p>

 

1

、下?/p>

freemarker

,下载网址?/p>

 

https://sourceforge.net/projects/freemarker/?source=typ_redirect

 

2

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

freemarker.template.Configuration

?/p>

freemarker.template.Template

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

Map

?/p>

?/p>

?/p>

?/p>

?/p>

Template.process

方法,即生成新的

word

文档?/p>

 

3

、问?/p>

1

:经常出现有

FileNotFoundException

问题,模块文件默认是放在类所

在目录的

(即

src

的相关目录下?/p>

这点很奇怪,

一般我们会认为在项目根目录?/p>

?/p>

经研究官方的

API

,原?/p>

freemarker

在加载模板时,建议使?/p>

TemplateLoader

?/p>

定从哪个目录开始加载模板,

并且将模板加载在缓存中,

?/p>

TemplateLoader

的两

个实现类举例说明?/p>

 

一?/p>

FileTemplateLoader

文件模板加载器,可以通过文件的绝对路径加载模板:

 

Configuration cfg = new Configuration(); 

TemplateLoadertemplateLoader=null; 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

JAVA

?/p>

Freemarker

生成

word

使用小结

 

肖教燎,

2016

?/p>

5

?/p>

2

?/p>

 

 

一、制?/p>

word

模板?/p>

 

1

?/p>

 

先使用记事本,将所需的文字录好,将所需的变量用英文字母表示(如

xinming,xinbie

?/p>

,变量尽量复杂一点,再拷入到

word

中,最好是

word2003

?/p>

 

2

?/p>

 

?/p>

word

另存?/p>

Word 2003 XML

格式?/p>

 

3

?/p>

 

可以?/p>

XML

文件用可以可美化的软件打开,以便更好搜索?/p>

(非必要?/p>

 

4

?/p>

 

搜索变量,如搜索?/p>

xinming

,将其改?/p>

${xinming}

,所有变量以此类推?/p>

 

5

?/p>

 

如果涉及到数据是一个集合,

则需遍历数据?/p>

通常是表格中的数据,

?/p>

word

模板中为一行,但要调用多行数据写入

word

。方法如下:搜索

<w:tr

,通常?/p>

到的第一个为表头?/p>

可能需要从找到的第二个开始;

?/p>

<w:tr

之前加上

<#list 

?/p>

合名?/p>

 

as 

替代?/p>

>

,如

<#list 

users 

as 

user>

;搜索随后的

</w:tr>

,后面加?/p>

</#list>

;将集合里的变量用替代名替代,如

${user}

,如果该

list

的变量是一

个复杂变量,还可以是这种形式,如

${user.username}

?/p>

 

6

?/p>

 

将文件的扩展名改?/p>

ftl

?/p>

 

二、生?/p>

word

步骤及可能出现的问题?/p>

 

1

、下?/p>

freemarker

,下载网址?/p>

 

https://sourceforge.net/projects/freemarker/?source=typ_redirect

 

2

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

freemarker.template.Configuration

?/p>

freemarker.template.Template

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

Map

?/p>

?/p>

?/p>

?/p>

?/p>

Template.process

方法,即生成新的

word

文档?/p>

 

3

、问?/p>

1

:经常出现有

FileNotFoundException

问题,模块文件默认是放在类所

在目录的

(即

src

的相关目录下?/p>

这点很奇怪,

一般我们会认为在项目根目录?/p>

?/p>

经研究官方的

API

,原?/p>

freemarker

在加载模板时,建议使?/p>

TemplateLoader

?/p>

定从哪个目录开始加载模板,

并且将模板加载在缓存中,

?/p>

TemplateLoader

的两

个实现类举例说明?/p>

 

一?/p>

FileTemplateLoader

文件模板加载器,可以通过文件的绝对路径加载模板:

 

Configuration cfg = new Configuration(); 

TemplateLoadertemplateLoader=null; 

Ͼλ">
Ͼλ
Ŀ

JAVA用Freemarker生成word使用小结 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

JAVA

?/p>

Freemarker

生成

word

使用小结

 

肖教燎,

2016

?/p>

5

?/p>

2

?/p>

 

 

一、制?/p>

word

模板?/p>

 

1

?/p>

 

先使用记事本,将所需的文字录好,将所需的变量用英文字母表示(如

xinming,xinbie

?/p>

,变量尽量复杂一点,再拷入到

word

中,最好是

word2003

?/p>

 

2

?/p>

 

?/p>

word

另存?/p>

Word 2003 XML

格式?/p>

 

3

?/p>

 

可以?/p>

XML

文件用可以可美化的软件打开,以便更好搜索?/p>

(非必要?/p>

 

4

?/p>

 

搜索变量,如搜索?/p>

xinming

,将其改?/p>

${xinming}

,所有变量以此类推?/p>

 

5

?/p>

 

如果涉及到数据是一个集合,

则需遍历数据?/p>

通常是表格中的数据,

?/p>

word

模板中为一行,但要调用多行数据写入

word

。方法如下:搜索

<w:tr

,通常?/p>

到的第一个为表头?/p>

可能需要从找到的第二个开始;

?/p>

<w:tr

之前加上

<#list 

?/p>

合名?/p>

 

as 

替代?/p>

>

,如

<#list 

users 

as 

user>

;搜索随后的

</w:tr>

,后面加?/p>

</#list>

;将集合里的变量用替代名替代,如

${user}

,如果该

list

的变量是一

个复杂变量,还可以是这种形式,如

${user.username}

?/p>

 

6

?/p>

 

将文件的扩展名改?/p>

ftl

?/p>

 

二、生?/p>

word

步骤及可能出现的问题?/p>

 

1

、下?/p>

freemarker

,下载网址?/p>

 

https://sourceforge.net/projects/freemarker/?source=typ_redirect

 

2

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

freemarker.template.Configuration

?/p>

freemarker.template.Template

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

?/p>

一

?/p>

Map

?/p>

?/p>

?/p>

?/p>

?/p>

Template.process

方法,即生成新的

word

文档?/p>

 

3

、问?/p>

1

:经常出现有

FileNotFoundException

问题,模块文件默认是放在类所

在目录的

(即

src

的相关目录下?/p>

这点很奇怪,

一般我们会认为在项目根目录?/p>

?/p>

经研究官方的

API

,原?/p>

freemarker

在加载模板时,建议使?/p>

TemplateLoader

?/p>

定从哪个目录开始加载模板,

并且将模板加载在缓存中,

?/p>

TemplateLoader

的两

个实现类举例说明?/p>

 

一?/p>

FileTemplateLoader

文件模板加载器,可以通过文件的绝对路径加载模板:

 

Configuration cfg = new Configuration(); 

TemplateLoadertemplateLoader=null; 



ļ׺.doc޸Ϊ.docĶ

  • ƻ-Ҫҵ-Բ
  • 2016-2020㶫ʡյҵгǰصҵ棨Ŀ¼ - ͼ
  • Ƶϵͳ
  • 2016-2020㶫ʡյҵгǰصҵ棨Ŀ¼ - ͼ
  • лСѧжʵ-ʦѧоԺ
  • Ϣϵͳʵҵ
  • ·ѧֵల
  • Ŀ߻
  • -ȽϷо밸ϰ
  • ѧУijѯҹܽ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)