java导出word模板

项目中,可能会有很多地方需要导出word模板,首先,你需要有模板,然后,模板另存为xml格式。

package com;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import freemarker.cache.FileTemplateLoader;
import freemarker.cache.TemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;

public class CreateWord {

	public static void main(String[] args) {
		Map<String, Object> cont = new HashMap<String, Object>();// 存储数据

		Configuration cfg = new Configuration();

		TemplateLoader templateLoader = null;

		try {
			//模板的路径
			File fir = new File("W:/test/wswhr/");

			//生成文件的路径及文件名。
			File outFile = new File("W:/test/wswhr/委托创作合同.doc");

			Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));

			// 使用FileTemplateLoader
			//制定模板路径
			templateLoader = new FileTemplateLoader(fir);//
			String tempname = "委托创作合同.xml";

			cfg.setTemplateLoader(templateLoader);
			Template t = cfg.getTemplate(tempname, "UTF-8");

			t.process(cont, out);
			out.flush();
			out.close();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

注意,里面的

cfg.setTemplateLoader(templateLoader);

这一句,是指定模板所在目录。

如果只是运行一些测试类,或者本地main方法可以用这个。

如果是在线上服务器,请用下面的代码来制定模板路径。

//创建配置实例
	        Configuration configuration = new Configuration();

	        //设置编码
            configuration.setDefaultEncoding("UTF-8");

            //ftl模板文件统一放至 com.lun.template 包下面
            configuration.setClassForTemplateLoading(WordUtil.class, "/cn/digitalpublishing/templates/");

            //获取模板
            Template template = configuration.getTemplate(templateName);

这里的,制定模板路径的方法是,setClassForTemplateLoading.

望文生义也知道,根据指定的class文件,去找对应的目录加载模板。

时间: 2024-11-17 02:44:19

java导出word模板的相关文章

图片-asp.net怎么实现批量数据导出word模板中(每条数据导一个模板),之后全部打包下载

问题描述 asp.net怎么实现批量数据导出word模板中(每条数据导一个模板),之后全部打包下载 之前做的单个的做好了,但是批量的不知道怎么实现word模板, 这个时候单条的效果图: 单条的代码: 求救啊,做了好长时间了,哪位大神帮帮忙 解决方案 思路大致为: 1. 创建一个文件夹用来保存生成的Word文件 2. 因为你的数据是表,可以遍历数据表的记录,或者遍历表格控件的行来获取数据 3. 为每一天记录生成一个Word文件,类似你单条的代码,都保存到第一个创建的文件夹里面 4. 打包第一步创建

导出word html样式-java导出word含html样式,如何识别html样式

问题描述 java导出word含html样式,如何识别html样式 最近做一个导出word的功能,有些内容是富文本框编辑器里面的,附带样式,也就是数据库里存有html标签样式,我用POI生成word,但是标签原样输出了,怎么做才识别html样式. 有解决这问题的啵?

导出 word模板-做一个题库管理系统,怎么将存储在数据库中的试卷内容导出到word模板中呢

问题描述 做一个题库管理系统,怎么将存储在数据库中的试卷内容导出到word模板中呢 C#2008,access2003,做一个题库管理系统,怎么将存储在数据库中的试卷内容导出到word模板中呢,求助各位大神,求代码 解决方案 用npoi操作数据库http://my.oschina.net/yangxiaoguang/blog/264948 解决方案二: 用npoi操作word文档http://my.oschina.net/yangxiaoguang/blog/264948 解决方案三: http

java导出生成word的简单方法_java

最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1.Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用.DLL动态链接库的生成需要windows平台的支持.该方案只能在windows平台实现,是其局限性. 2.Apache POI包括一系列的API,它

java导出excel 用模板如何分sheet

问题描述 java导出excel 用模板如何分sheet 当导出的excel 数据很多时,导出到模板的数据怎么自动创建多个sheet ,并导出到多个sheet中, 我是使用了模板,导出数据到excel 里,但是不知道,怎么分sheet.,肯能很麻烦,知道的哥哥姐姐迪迪妹妹,可以告诉我,感谢 解决方案 java操作Excel的工具POI中有创建Sheet的方法的,查下API,对着需求调用就行了. 解决方案二: POI下JAVA导出基于模板的Exceljava 导出数据到指定的excel模板中.ja

填充数据到word模板中

昨天写了一篇博客,是导出word模板的. 今天来说一下如何填充数据到模板中. 先上图,合同: 需要在指定需要填充数据的位置,添加标识,这只是初步的标识, 然后,另存为xml格式,会发现,这些标识,可能会发生转义(因为字体,颜色,加粗,下划线等等因素).如图下: 然后在xml文件中,找到对应标识的位置,改成如下格式. ${zpmc?if_exists} 修改后的为: 因为,可能由于数据的问题,某些字段数据并不存在,所以,要在后面加上    ?if_exists 然后,代码如下: package c

phpword插件导出word文件时中文乱码问题处理方案_php技巧

最近一个项目开发要用到PHP技术导出Word文档,比较了几种方案,首先是使用Microsoft Office自带的ActiveX/COM组件,比如Word.Application,这种方式的优点是格式兼容度高,可以生成纯doc的Word2003格式文档,缺点一是比较占资源(调用会启动一个WINWORD.EXE进程),不适合Web多用户访问使用:二是PHP这种Web开发技术大多数是跑在Linux服务器上,当然也就无法使用Windows下的技术了,平台可移植和兼容性不好. 第二种生成Word的方案是

poi-Java导出word时,能实现在word正文内“插入附件”的效果吗?

问题描述 Java导出word时,能实现在word正文内"插入附件"的效果吗? 用户在页面上的富文本框里编辑了一些内容,并上传了若干个附件,Web系统单独保存了这些内容和附件. 当用户想把他编辑的内容和附件导出到一个word文档里,效果类似于"word里,插入,超链接-现有文件",技术层面上,能实现吗?请说一下思路. 谢谢.

java web项目利用freeMarker导出word

问题描述 java web项目利用freeMarker导出word 在项目中导出word,利用freeMarker有这样几个问题,求解答 1.如果单独用java项目是可以的,但是放到项目中导出的word打开时会说被程序锁定,然后打开什么内容都没有,查看属性是有字节数. 2.导出的word地址是在后台控制的,如何做到在浏览器弹框选择地址? 解决方案 你是导出word还是导出Excel?导出一般都是调用浏览器本身的下载功能,有的浏览器会让你选择路径,比如360浏览器,有的就不会了,你如果要做一个通用