java操作word
一个使用Apache POI写word文档的实例:

1 package apache.poi;
2
3 import java.io.ByteArrayInputStream;
4 import java.io.ByteArrayOutputStream;
5 import java.io.File;
6 import java.io.FileInputStream;
7 import java.io.FileOutputStream;
8 import java.io.IOException;
9 import java.io.OutputStream;
10 import java.util.HashMap;
11 import java.util.Map;
12
13 import org.apache.poi.hwpf.HWPFDocument;
14 import org.apache.poi.hwpf.usermodel.Range;
15 import org.apache.poi.poifs.filesystem.DirectoryEntry;
16 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
17
18
19 public class ExportDocTest {
20
21 public static void main(String[] args) {
22 String destFile="D:\\11.doc";
23 //#####################根据自定义内容导出Word文档#################################################
24 StringBuffer fileCon=new StringBuffer();
25 fileCon.append(" 张大炮 男 317258963215223\n" +
26 "2011 09 2013 07 3\n" +
27 " 二炮研究 成人\n" +
28 "2013000001 2013 07 08");
29 fileCon.append("\n\r\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
30
31 new ExportDocTest().exportDoc(destFile, fileCon.toString());
32
33 //##################根据Word模板导出单个Word文档###################################################
34 Map<String, String> map=new HashMap<String, String>();
35
36 map.put("name", "Zues");
37 map.put("sex", "男");
38 map.put("idCard", "200010");
39 map.put("year1", "2000");
40 map.put("month1", "07");
41 map.put("year2", "2008");
42 map.put("month2", "07");
43 map.put("gap", "2");
44 map.put("zhuanye", "计算机科学与技术");
45 map.put("type", "研究生");
46 map.put("bianhao", "2011020301");
47 map.put("nowy", "2011");
48 map.put("nowm", "01");
49 map.put("nowd", "20220301");
50 //注意biyezheng_moban.doc文档位置,此例中为应用根目录
51 HWPFDocument document=new ExportDocTest().replaceDoc("biyezheng_moban.doc", map);
52 ByteArrayOutputStream ostream = new ByteArrayOutputStream();
53 try {
54 document.write(ostream);
55 //输出word文件
56 OutputStream outs=new FileOutputStream(destFile);
57 outs.write(ostream.toByteArray());
58 outs.close();
59 } catch (IOException e) {
60 e.printStackTrace();
61 }
62
63 }
64
65
66 /**
67 *
68 * @param destFile
69 * @param fileCon
70 */
71 public void exportDoc(String destFile,String fileCon){
72 try {
73 //doc content
74 ByteArrayInputStream bais = new ByteArrayInputStream(fileCon.getBytes());
75 POIFSFileSystem fs = new POIFSFileSystem();
76 DirectoryEntry directory = fs.getRoot();
77 directory.createDocument("WordDocument", bais);
78 FileOutputStream ostream = new FileOutputStream(destFile);
79 fs.writeFilesystem(ostream);
80 bais.close();
81 ostream.close();
82
83 } catch (IOException e) {
84 e.printStackTrace();
85 }
86 }
87
88
89 /**
90 * 读取word模板并替换变量
91 * @param srcPath
92 * @param map
93 * @return
94 */
95 public HWPFDocument replaceDoc(String srcPath, Map<String, String> map) {
96 try {
97 // 读取word模板
98 FileInputStream fis = new FileInputStream(new File(srcPath));
99 HWPFDocument doc = new HWPFDocument(fis);
100 // 读取word文本内容
101 Range bodyRange = doc.getRange();
102 // 替换文本内容
103 for (Map.Entry<String, String> entry : map.entrySet()) {
104 bodyRange.replaceText("${" + entry.getKey() + "}", entry
105 .getValue());
106 }
107 return doc;
108 } catch (Exception e) {
109 e.printStackTrace();
110 return null;
111 }
112 }
113
114 }

java操作word的更多相关文章
- Java 操作Word书签(二):添加文本、图片、表格到书签内容
在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签.读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本.图片. ...
- Java操作word文档使用JACOB和POI操作word,Excel,PPT需要的jar包
可参考文档: http://wibiline.iteye.com/blog/1725492 下载jar包 http://download.csdn.net/download/javashixiaofe ...
- [转载]java操作word(一)
一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...
- [原创]java操作word(一)
一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...
- Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- Java 操作Word书签(三):用文本、图片、表格替换书签
本篇文章将继续介绍通过Java来操作Word书签的方法,即替换Word中已有书签,包括用新的文本.图片.表格等替换原有书签处的内容. 使用工具:Free Spire.Doc for Java (免费版 ...
- Java 操作Word表格
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- java操作word,excel,pdf
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- JAVA操作word方法
jacob,功能非常强大,能操作word,excel和pdf.下载地址是:http://sourceforge.net/projects/jacob-project/ 1.新建一个文档 Dispat ...
随机推荐
- Nginx启动、关闭、重新加载脚本
#! /bin/sh # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web ...
- Linux 系统常用命令汇总(四) 程序和资源管理
程序和资源管理 分类 命令 选项 注解 背景管理 & command+& 将任务放到后台进行 ctrl+z 暂停任务 fg [%number] 讲后台程序推到前台来,number表示进 ...
- uGUI练习(六) ScrollView
练习目标 练习uGUI的滑动组件 一.相关组件 ScrollRect Mask Grid Layout Group Scrollbar 二.步骤 1.创建一个Panel,命名为ScrollRect,添 ...
- 使用Loadrunner进行http接口压力测试
业务描述: 在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回. 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: ...
- mongoVUE1.5.3 破解方法
MongoVUE是个免费软件,但超过15天后功能受限.可以通过删除以下注册表项来解除限制: [HKEY_CURRENT_USER\Software\Classes\CLSID\{B1159E65-82 ...
- maven总结1
环境:win7 maven版本:apache-maven-3.1.1-bin.zip maven安装 1.确定已经正确安装jdk,若未安装需要先安装jdk 2.http://maven.apac ...
- Javascript中的对象和原型(3)
在Javascript中的对象和原型(二)中我们提到,用构造函数创建的对象里面,每个对象之间都是独立的,这样就会降低系统资源的利用率,解决这样问题,我们就要用到下面提到的原型对象. 一 原型对象 原型 ...
- AE二次开发技巧之撤销、重做
原文地址:http://www.cnblogs.com/wylaok/articles/2363208.html 可以把AE自带的重做.撤销按钮或工具添加到axToolBarControl上,再把ax ...
- 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...
- 【转】【WPF】WPF样式(Style)—触发器
样式(Styles)由三部分构成:设置器(Setter).触发器(Triggers).资源(Resources). (1)触发器,让样式的使用更加准确.灵活和高效. (2)触发器(Triggers)主 ...