- 浏览: 89550 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ssy341:
说的简单了点,和官网的文档差不多,多文件上传也不是很好,不过可 ...
jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能 -
蓝凝幽偌:
有没有jar包?
org.apache.commons.net.ftp.FTPClient 的简单用法 -
tinguo002:
在这里缓缓走过,很为楼主钻研精神感动,也感谢楼主分享。
关于Struts2资源文件的配置
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 }
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编程思想final的理解
2015-03-06 13:38 380根据上下文环境,java的关键字final也存在着细微的区别, ... -
PDF2SWF中文字符集解决方案
2014-02-26 15:12 829转自:http://www.cnblogs.com/liver ... -
Runtime.getRuntime().exec() 输出流阻塞的解决方法
2014-02-26 09:40 1879转自:http://blog.csdn.net/xiaoani ... -
笔记(不用老搜索了)
2013-07-17 16:16 0下面代码则执行了subgo()函数, <a href ... -
利用LinkedBlockingQueue实现生产者-消费者模式
2013-06-05 16:09 716由于LinkedBlockingQueue 实现是线程安全的, ... -
加密123
2013-05-08 22:35 863/** * 加密传输时的密码 * @author weirhp ... -
jsoup解析
2013-04-28 15:31 714http://www.ibm.com/developerwor ... -
java线程管理利器:java.util.current的用法举例
2012-12-05 15:42 1009DK5中增加了Doug Lea的并发库,这一引进给java线程 ... -
Tomcat - 解决which must be escaped when used within the value错误
2012-11-19 15:17 655http://www.cnblogs.com/javadu/a ... -
使用COS组件实现文件上传
2012-06-15 11:25 1519转自:http://blog.csdn.net/jadyer/ ... -
Java Annotation(1)
2011-06-19 09:48 665作者:曾巧(numenzq) 摘要 Annotation( ... -
关于request得到路径的几种方法
2011-06-08 15:43 944request.getRequestURI() /jque ... -
JAVA EXCEL API 简介
2011-04-18 16:32 722转自:http://www.ibm.com/dev ... -
Hibernate 多对多双向关联
2011-03-21 11:09 620Hibernate 多对多双向关联 一、模型介绍 多个 ... -
Hibernate 一对多连接表双向关联
2011-03-21 11:09 767Hibernate 一对多连接表双向关联 一、模型介绍 ... -
Hibernate 一对多外键双向关联
2011-03-21 11:08 817Hibernate 一对多外键双向关联 一、模型介绍 ... -
Hibernate 一对一主键双向关联
2011-03-21 11:07 757Hibernate 一对一主键双向关联 一对一主键映射在一 ... -
Hibernate 一对一外键双向关联
2011-03-21 11:07 648Hibernate 一对一外键双向关联 一对一外键关联是一 ... -
Hibernate 多对多单向关联
2011-03-21 11:06 642Hibernate 多对多单向关联 一、模型介绍 多个人( ... -
Hibernate 多对一连接表单向关联
2011-03-21 11:05 714Hibernate 多对一连接表单向关联 一、模型介绍 ...
相关推荐
- **XWPF**: 用于处理新版本的Word文档(.docx),基于OpenXML标准。 3. **PowerPoint处理**: - **HSLF**: 处理老版本的PowerPoint文件(.ppt)。 - **XSLF**: 支持新版本的PowerPoint文件(.pptx)。 4. **...
Java使用Apache POI库导出Word文档是一种常见的技术实践,特别是在企业级应用中,用于生成报告、合同或者自定义的数据输出。Apache POI是Apache软件基金会的一个开源项目,它提供了处理Microsoft Office格式(如Word...
Java 使用 POI 合并两个 Word 文档 Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个...
综上所述,Java POI库提供了丰富的功能,使我们能够方便地处理Word文档,包括将它们转换为HTML格式。通过理解POI的工作原理和掌握相应的API,我们可以实现高效、准确的文件转换。在实际项目中,根据需求调整和优化...
总的来说,Java POI为Java开发者提供了一个强大的工具,能够方便地处理Word文档,包括创建、修改和填充表单,这对于自动化报告生成、数据导出或任何基于Word文档的工作流程都是极其有用的。通过熟练掌握Java POI,你...
在"java poi导出word"这个场景中,我们主要关注的是如何使用Java POI来创建和编辑Word文档。下面将详细介绍如何利用Java POI实现这些功能,并提供一些关键知识点。 1. 文字与段落: 在Java POI中,我们可以使用...
Java POI库是Apache软件基金会的一个开源项目,它允许开发者读取、创建、修改Microsoft Office格式的文件,包括Word文档(.doc和.docx)。在本案例中,"java POI生成word.zip"是一个压缩包,包含使用Java POI库生成...
总之,Java POI 提供了一种灵活且强大的方式来生成Word文档,通过模板和数据的结合,可以自动化创建定制化的报告、合同等文档,极大地提高了工作效率。正确理解和运用这一技术,能够满足各种业务场景下的文档生成...
在Java中,如果你需要生成Word文档,POI库是首选工具之一。本篇文章将详细讲解如何利用Java POI生成Word文档,并介绍与之相关的jar包。 首先,我们来看一下Java POI的核心组件: 1. poi-3.11-20141221.jar:这是POI...
Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式,如 Word、Excel 和 PowerPoint。在处理 Word .doc 文件时,POI 提供了一个名为 HWPF(Horizontally Written Property Set Files)的模块。这个...
Java中的Apache POI库是一个强大的工具,用于读取、创建...总之,Apache POI使得在Java中处理Word文档变得容易,包括将Word文档转换为HTML。这种转换在许多场景下都有应用,如网站内容发布、数据迁移或报告自动化生成。
XWPFDocument可以读取、修改和创建Word文档。在生成新报告的过程中,我们需要先加载模板文件,这可以通过创建XWPFDocument对象并传入模板文件的输入流来实现。 文本插入通常涉及到XWPFParagraph和XWPFRun对象。...
Java中的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,包括Word文档(.doc和.docx)。在这个场景下,我们将深入探讨如何使用POI库来操作Word文档,特别是写入文字和插入图片。 ...
Java中的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,包括Word文档。在这个“java--Poi 生成word文档”的示例中,我们将深入探讨如何利用POI库来生成Word文档。Apache POI提供...
在Java中,如果你需要在Word文档中插入图片,POI库提供了解决方案。这个过程涉及到对Word文档的内部结构有深入的理解,包括其XML表示形式,以及如何通过API来操作这些元素。 首先,我们需要导入必要的库,包括POI的...
"利用Java Apache POI 生成Word文档示例代码" 本篇文章主要介绍了利用Java Apache POI 生成Word文档示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 首先,Apache POI是一个开源的Java库,由Apache...
标题“POI word目录处理备忘”涉及到的是Apache POI库在处理Microsoft Word文档时,尤其是涉及Word文档目录(TOC,Table of Contents)的操作。Apache POI是一个流行的开源Java库,它允许开发者读取、写入和修改...
在Java编程环境中,Apache POI库是一个非常实用的工具,它允许开发者创建、修改和读取Microsoft Office格式的文件,包括Word文档。本教程将详细讲解如何使用POI库生成Word文档并提供下载功能。 首先,我们需要理解...
本项目“Java利用poi对word插入文字图片”是一个具体的示例,旨在教给你如何使用Apache POI API在Word文档中插入文字和图片。下面将详细阐述相关的知识点。 首先,Apache POI提供了HWPF(Horrible Word Processor ...