欢迎来到天天文库
浏览记录
ID:37710440
大小:42.00 KB
页数:9页
时间:2019-05-29
《java+根据word模板生成word+文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java根据word模板生成word文档先下载jacob_1.10.1.zip。解压后将jacob.dll放到windows/system32下面或j2sdkbin下面。将jacob.jar加入项目。/**Java2word.java**Tochangethistemplate,chooseTools
2、TemplateManager*andopenthetemplateintheeditor.*//**传入数据为HashMap对象,对象中的Key代表word模板中要替换的字段,Value代表用来替换的值。*word模板中所有要替换的字段(即HashMa
3、p中的Key)以特殊字符开头和结尾,如:$code$、$date$……,以免执行错误的替换。*所有要替换为图片的字段,Key中需包含image或者Value为图片的全路径(目前只判断文件后缀名为:.bmp、.jpg、.gif)。*要替换表格中的数据时,HashMap中的Key格式为“table$R@N”,其中:R代表从表格的第R行开始替换,N代表word模板中的第N张表格;Value为ArrayList对象,ArrayList中包含的对象统一为String[],一条String[]代表一行数据,ArrayList中第一条记录为特殊记录,记录的是表格中要替换
4、的列号,如:要替换第一列、第三列、第五列的数据,则第一条记录为String[3]{“1”,”3”,”5”}。*/packagecom.word.util;/****@authorkdl*/importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importcom.jacob.activeX.ActiveXComponent;importcom.jacob.com.Dispatch;importcom.jacob.com.Variant;publicclassJav
5、a2word{ privatebooleansaveOnExit; /** *word文档 */ Dispatchdoc=null; /** *word运行程序对象s */ private ActiveXComponentword; /** *所有word文档 */ private Dispatchdocuments; /** *构造函数 */ publicJava2word(){ if(w
6、ord==null){ word=newActiveXComponent("Word.Application"); word.setProperty("Visible",newVariant(false)); } if(documents==null) documents=word.getProperty("Documents").toDispatch(); saveOnExit=false; } /** *设置参数:退出时是否保存 *@
7、paramsaveOnExitbooleantrue-退出时保存文件,false-退出时不保存文件 */ publicvoidsetSaveOnExit(booleansaveOnExit){ this.saveOnExit=saveOnExit; } /** *得到参数:退出时是否保存 *@returnbooleantrue-退出时保存文件,false-退出时不保存文件 */ publicbooleangetSaveOnExit(){ returnsaveOnExit;
8、 } /** *打开文件 *@paraminputDocString要打开的文件,全路径 *@returnDispatch打开的文件 */ publicDispatchopen(StringinputDoc){ returnDispatch.call(documents,"Open",inputDoc).toDispatch(); //returnDispatch.invoke(documents,"Open",Dispatch.Method,newObject[]{inp
9、utDoc},newint[1]).toDispatch();
此文档下载收益归作者所有