`

Apache Poi 读写 word 文档

    博客分类:
  • POI
阅读更多

使用 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文档示例代码" 本篇文章主要介绍了利用Java Apache POI 生成Word文档示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 首先,Apache POI是一个开源的Java库,由Apache...

    java Apache poi 对word doc文件进行读写操作

    在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...

    android中poi生成word文档和excel文档

    在Android开发中,Apache POI 是一个非常实用的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,如Word文档(.doc)和Excel工作簿(.xlsx或.xls)。这个工具对于需要在Android应用中处理这些文档的...

    Apache中POI操作word所需的相关jar包

    在Java环境中,如果你需要对Word文档进行读写操作,Apache POI提供了一个名为XWPFDocument的类,使得这项任务变得轻而易举。这个库允许开发者在不依赖Microsoft Office的情况下,创建、修改和读取DOCX文件。 首先,...

    使用POI读写Word文件(兼容doc与docx版本)

    本篇文章将详细介绍如何使用POI来读写Word文件,兼容doc与docx版本。 首先,我们需要理解.doc和.docx的区别。.doc是旧版Microsoft Word(Word 2003及更早版本)使用的文件格式,基于二进制结构;而.docx是Word 2007...

    利用poi+word模版书签,向word中插入数据

    本教程将深入讲解如何利用Apache POI的XWPF模块结合Word模板中的书签,实现数据的动态插入,从而创建个性化的Word文档。 首先,我们需要理解Apache POI的XWPF模块。XWPF(XML Word Processing)是POI项目的一部分,...

    使用java Apache poi 根据word模板生成word报表.rar

    Apache POI是Java社区开发的一个库,主要用于读写Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。在本项目中,“使用java Apache poi 根据word模板生成word报表.rar”是一个压缩包,...

    poi读写word模板/JAVA生成word包

    关于压缩包中的"poi读写word模板包",可能包含了一些示例代码或模板文件,帮助开发者理解如何使用Apache POI进行Word模板的读写。解压后,你可以查看这些文件来学习具体实现,包括如何查找和替换模板中的特定字符串...

    java Apache poi word模板 表格模板 word报表.zip

    Java Apache POI 是一个强大的库,它允许程序员在Java应用程序中创建、修改和显示Microsoft Office格式的文件,包括Word文档(.docx)和Excel工作簿(.xlsx)。本资料包着重介绍了如何利用Apache POI库来处理Word...

    POI导出Word 页眉 页脚 标题设置

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的...以上就是使用Apache POI创建Word文档,设置页眉、页脚和标题的基本知识。通过熟练掌握这些概念和API,你可以实现更复杂的Word文档自动化生成需求。

    Apache POI资源包

    7. **文档转换**:虽然Apache POI主要用于读写操作,但通过结合其他工具或库,开发者还可以实现Office文件与其他格式之间的转换,比如PDF、HTML等。 8. **社区支持**:作为Apache项目的一部分,Apache POI拥有活跃...

    poi操作word文档

    ### 使用POI操作Word文档详解 #### 一、概述 Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Word、Excel 和 PowerPoint。对于 Word 文档(.docx),Apache POI 提供了 XWPF 模块来...

    Apache POI for Android

    Apache POI 是一个著名的开源项目,主要为处理微软的Office文档格式提供了一个强大的Java API。在Android开发中,Apache POI 提供了处理Excel文件的能力,使得开发者可以在Android设备上进行Excel的读写操作,无需...

    最新Apache POI 5.2.3jar包和源码

    Apache POI 是一个开源项目,由Apache软件基金会维护,它提供了API用于读写Microsoft Office格式的文件,如Excel、Word和PowerPoint。最新版本为5.2.3,这个压缩包包含了该版本的jar包和源码,对于开发者来说是进行...

    android使用POI操作替换word docx文档中指定内容

    总之,通过Apache POI在Android中操作Word文档是一项技术性较强的任务,涉及到文件IO、XML解析和压缩包操作等多个方面。开发者需要对这些技术有深入理解,并针对Android平台进行优化,才能实现高效且可靠的文档处理...

    android使用POI操作word docx文档

    在Android平台上,使用Apache POI库来操作Microsoft Office的Word(docx)文档是一项常见的需求。Apache POI是一个开源项目,主要设计用于处理Microsoft的文件格式,如.docx、.xlsx和.pptx等。本篇文章将深入探讨...

    poi导出word文档jar包

    在这个"poi导出word文档jar包"中,我们主要关注的是如何使用Apache POI库来创建和操作Word文档。 在Java中,Apache POI提供了HWPFOI和XWPFPOI两个API,分别用于处理老版本的二进制Word文档(.doc)和新版本的基于...

    使用poi根据模版生成word文档并转换成PDF文件

    本文将深入探讨如何利用Apache POI框架根据模板生成Word文档,并进一步将其转换为PDF文件。 首先,Apache POI提供了一个名为HWPF(Horrible Word Processor Format)的组件,用于处理Word文档。通过这个组件,我们...

    poi将word转换成html、样式 表格 图片处理

    在本案例中,我们关注的是如何使用Apache POI将Word文档转换为HTML格式,并且保持原有的样式、表格和图片。下面我们将详细介绍这个过程中的关键知识点。 1. **Apache POI简介** Apache POI 提供了Java API,使得...

    使用poi替换word中的文字和图片实现打印

    本示例将深入探讨如何使用Apache POI库来替换Word文档中的文字和图片,并实现打印功能。 首先,确保在项目中正确导入了Apache POI相关的JAR包。通常,这包括poi-ooxml、poi-ooxml-schemas和commons-lang3等。这些库...

Global site tag (gtag.js) - Google Analytics