求教使用JAVA操作word文件的方法 主要需要实现,通过word模板对模板中的定制好的 窗口域 赋值以及图片谁有这方面的资料多谢提供 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我很久以前做过,其中也导入了图片。用的是veloctiy具体方法是:先用word制作一个模板,数据用变量代替。然后保存为网页文件(mht)。最后用velocity加入循环等操作。保存为扩展名为:vm。http://blog.csdn.net/myyate/archive/2008/01/17/2049701.aspx这是其他人的。差不多就这样的。 有没有 demo 来一个 拜谢 是用java2word做的也是模板但是你要在你模板里标注你要填写的位置比如 word中 姓名:张三 你要填写张三对吧你就在word写 姓名:${bo.name} 当然这名称你自己定义然后替换 ${bo.name} 为 张三 OK了下面是我的代码 我用到了 java反射 你程序简单的话 可以省略String inFile = fileUrl + "wordModel.doc"; // 要报存的目标文件 String tpFile = fileUrl + Date2.getDate() + Date2.getTime() + "wordModel.doc"; Document doc; try { doc = new Document(); doc.open(inFile); // java反射 Class clazz = bfo.getClass(); // Field[] fields = clazz.getDeclaredFields();// 所有属性 Field[] fields = clazz.getDeclaredFields(); // for (int i = 0; i < fields.length; i++) { if (fields[i].get(bfo) == null) { doc.replaceAll("${" + fields[i].getName() + "}", ""); } else { doc.replaceAll("${" + fields[i].getName() + "}", fields[i] .get(bfo).toString()); } } doc.saveAs(tpFile); doc.close(false); } catch (Exception e1) { e1.printStackTrace(); } try { Object obj = CommonUtil.downloadFileEx(tpFile); CommonUtil.downLoadFile(obj, fileName, "application/msword"); File file = new File(tpFile); file.delete(); } catch (Exception e) { e.printStackTrace(); } 接口继承的问题 Draw2d 如何在矩形中添加2条平行线? 新手求助:用SWT遇见的问题,麻烦高手给予解决 人民币数字转化为文字,如1235怎么输出一千二百三十五元? 想做一个类似WINDOWS画图程序的APPLET 一个自定义标签的问题(急!急!)急!)急!)急!)急!)急!)急!)) 如何能实现自己控制Jtable中的垂直滚动条 java applet中怎么显示tiff 新手上路!急急急!!! AnnotatedElement.getAnnotation()方法为什么会编译出错呢? 新手问个简单的变量互换问题 返回泛型的class
用的是veloctiy
具体方法是:先用word制作一个模板,数据用变量代替。然后保存为网页文件(mht)。最后用velocity加入循环等操作。保存为扩展名为:vm。
http://blog.csdn.net/myyate/archive/2008/01/17/2049701.aspx
这是其他人的。差不多就这样的。
也是模板
但是你要在你模板里标注你要填写的位置
比如 word中 姓名:张三 你要填写张三对吧
你就在word写 姓名:${bo.name} 当然这名称你自己定义
然后替换 ${bo.name} 为 张三 OK了
下面是我的代码 我用到了 java反射 你程序简单的话 可以省略
String inFile = fileUrl + "wordModel.doc";
// 要报存的目标文件
String tpFile = fileUrl + Date2.getDate() + Date2.getTime()
+ "wordModel.doc";
Document doc;
try {
doc = new Document();
doc.open(inFile);
// java反射
Class clazz = bfo.getClass();
// Field[] fields = clazz.getDeclaredFields();// 所有属性
Field[] fields = clazz.getDeclaredFields();
//
for (int i = 0; i < fields.length; i++) {
if (fields[i].get(bfo) == null) {
doc.replaceAll("${" + fields[i].getName() + "}", "");
} else {
doc.replaceAll("${" + fields[i].getName() + "}", fields[i]
.get(bfo).toString());
}
}
doc.saveAs(tpFile);
doc.close(false);
} catch (Exception e1) {
e1.printStackTrace();
}
try {
Object obj = CommonUtil.downloadFileEx(tpFile);
CommonUtil.downLoadFile(obj, fileName, "application/msword");
File file = new File(tpFile);
file.delete();
} catch (Exception e) {
e.printStackTrace();
}