使用 Apache Poi 读写 word 文档
写操作:
package com.poi.word; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import java.util.List; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTableCell; import org.apache.poi.xwpf.usermodel.XWPFTableRow; /** * 写入 word * @author LGF 2015-01-03 * */ public class WriterWord { public static void main(String[] args) throws IOException { //创建文档对象 XWPFDocument doc = new XWPFDocument(); //创建 XWPFWordExtractor 传入 文档 XWPFWordExtractor we = new XWPFWordExtractor(doc); //创建一个段落 XWPFParagraph paragraph = doc.createParagraph(); //一个XWPFRun代表具有相同属性的一个区域。 XWPFRun run = paragraph.createRun(); //执行 10 遍写入 word 文档 for (int i = 0; i < 10; i++) { run = doc.createParagraph().createRun(); run.setColor("ff0000"); run.setFontFamily("宋体"); run.setFontSize(15); run.setText("第 "+i+" hello world ... "); } //创建一个表格 XWPFTable table = doc.createTable(10, 3); // table.addNewCol(); //给表格增加一列 // table.createRow(); //给表格新增一行 List<XWPFTableRow> rows = table.getRows(); for (XWPFTableRow r : rows) { List<XWPFTableCell> cs = r.getTableCells(); for (int i = 0; i < cs.size(); i++) { XWPFTableCell c = cs.get(i); c.setText(i+" *_* " + new Date()); } } //写入 doc.write(new FileOutputStream("src/test.doc")); //释放资源 we.close(); System.out.println("success"); } }
读操作:
package com.poi.word; import java.io.InputStream; import java.util.List; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTableCell; import org.apache.poi.xwpf.usermodel.XWPFTableRow; /** * 读取 word 文档 * @author LGF 2015-01-03 * */ public class ReadWord { public static void main(String[] args) throws Exception { ReadWord rw = new ReadWord(); //获取输入流 InputStream input = rw.getInputStream("test.doc"); //创建一个 XWPFDocument 对象 传入 输入流 XWPFDocument doc = new XWPFDocument(input); //获取所有的段落 List<XWPFParagraph> paragraphs = doc.getParagraphs(); System.out.println("----------段落---------"); for (XWPFParagraph p : paragraphs) { System.out.println(p.getText()); } //获取所有的表格 List<XWPFTable> tables = doc.getTables(); System.out.println("----------表格---------"); for (XWPFTable t : tables) { List<XWPFTableRow> rows = t.getRows(); for (XWPFTableRow r : rows) { List<XWPFTableCell> c = r.getTableCells(); for (XWPFTableCell tc : c) { String text = tc.getText(); System.out.print(text + " --> "); } System.out.print("\n"); } } //创建一个 XWPFWordExtractor 对象 传入 文档对象 XWPFWordExtractor we = new XWPFWordExtractor(doc); //获取文档中的字符 System.out.println("\n----------全部字符---------"); String text = we.getText(); System.out.println(text); //释放资源 we.close(); input.close(); } /** * 获取 class path 中的文件流 * @param name 名称 * @return InputStream */ public InputStream getInputStream(String name){ return Thread.currentThread().getContextClassLoader().getResourceAsStream(name); } }
相关推荐
"利用Java Apache POI 生成Word文档示例代码" 本篇文章主要介绍了利用Java Apache POI 生成Word文档示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 首先,Apache POI是一个开源的Java库,由Apache...
在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...
在Android开发中,Apache POI 是一个非常实用的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,如Word文档(.doc)和Excel工作簿(.xlsx或.xls)。这个工具对于需要在Android应用中处理这些文档的...
在Java环境中,如果你需要对Word文档进行读写操作,Apache POI提供了一个名为XWPFDocument的类,使得这项任务变得轻而易举。这个库允许开发者在不依赖Microsoft Office的情况下,创建、修改和读取DOCX文件。 首先,...
本篇文章将详细介绍如何使用POI来读写Word文件,兼容doc与docx版本。 首先,我们需要理解.doc和.docx的区别。.doc是旧版Microsoft Word(Word 2003及更早版本)使用的文件格式,基于二进制结构;而.docx是Word 2007...
本教程将深入讲解如何利用Apache POI的XWPF模块结合Word模板中的书签,实现数据的动态插入,从而创建个性化的Word文档。 首先,我们需要理解Apache POI的XWPF模块。XWPF(XML Word Processing)是POI项目的一部分,...
Apache POI是Java社区开发的一个库,主要用于读写Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。在本项目中,“使用java Apache poi 根据word模板生成word报表.rar”是一个压缩包,...
关于压缩包中的"poi读写word模板包",可能包含了一些示例代码或模板文件,帮助开发者理解如何使用Apache POI进行Word模板的读写。解压后,你可以查看这些文件来学习具体实现,包括如何查找和替换模板中的特定字符串...
Java Apache POI 是一个强大的库,它允许程序员在Java应用程序中创建、修改和显示Microsoft Office格式的文件,包括Word文档(.docx)和Excel工作簿(.xlsx)。本资料包着重介绍了如何利用Apache POI库来处理Word...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的...以上就是使用Apache POI创建Word文档,设置页眉、页脚和标题的基本知识。通过熟练掌握这些概念和API,你可以实现更复杂的Word文档自动化生成需求。
7. **文档转换**:虽然Apache POI主要用于读写操作,但通过结合其他工具或库,开发者还可以实现Office文件与其他格式之间的转换,比如PDF、HTML等。 8. **社区支持**:作为Apache项目的一部分,Apache POI拥有活跃...
### 使用POI操作Word文档详解 #### 一、概述 Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Word、Excel 和 PowerPoint。对于 Word 文档(.docx),Apache POI 提供了 XWPF 模块来...
Apache POI 是一个著名的开源项目,主要为处理微软的Office文档格式提供了一个强大的Java API。在Android开发中,Apache POI 提供了处理Excel文件的能力,使得开发者可以在Android设备上进行Excel的读写操作,无需...
Apache POI 是一个开源项目,由Apache软件基金会维护,它提供了API用于读写Microsoft Office格式的文件,如Excel、Word和PowerPoint。最新版本为5.2.3,这个压缩包包含了该版本的jar包和源码,对于开发者来说是进行...
总之,通过Apache POI在Android中操作Word文档是一项技术性较强的任务,涉及到文件IO、XML解析和压缩包操作等多个方面。开发者需要对这些技术有深入理解,并针对Android平台进行优化,才能实现高效且可靠的文档处理...
在Android平台上,使用Apache POI库来操作Microsoft Office的Word(docx)文档是一项常见的需求。Apache POI是一个开源项目,主要设计用于处理Microsoft的文件格式,如.docx、.xlsx和.pptx等。本篇文章将深入探讨...
在这个"poi导出word文档jar包"中,我们主要关注的是如何使用Apache POI库来创建和操作Word文档。 在Java中,Apache POI提供了HWPFOI和XWPFPOI两个API,分别用于处理老版本的二进制Word文档(.doc)和新版本的基于...
本文将深入探讨如何利用Apache POI框架根据模板生成Word文档,并进一步将其转换为PDF文件。 首先,Apache POI提供了一个名为HWPF(Horrible Word Processor Format)的组件,用于处理Word文档。通过这个组件,我们...
在本案例中,我们关注的是如何使用Apache POI将Word文档转换为HTML格式,并且保持原有的样式、表格和图片。下面我们将详细介绍这个过程中的关键知识点。 1. **Apache POI简介** Apache POI 提供了Java API,使得...
本示例将深入探讨如何使用Apache POI库来替换Word文档中的文字和图片,并实现打印功能。 首先,确保在项目中正确导入了Apache POI相关的JAR包。通常,这包括poi-ooxml、poi-ooxml-schemas和commons-lang3等。这些库...