`
chengzhi_hong
  • 浏览: 167510 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI操作WORD

阅读更多


通过下面的两种方法可以从文档里读取所有字符性的内容(忽略字符的属性)。
通过输出流来写到文本文件中。
public static void getWordContent(String fileName) throws Exception{
   FileInputStream in = new FileInputStream(new File(fileName));
   WordExtractor extractor = new WordExtractor(in);
   String text = extractor.getText();
   FileWriter f = new FileWriter(new File("e:\\Test.txt"));
   f.write(text);
   f.close();
}

public static void getWordDetail(String fileName) throws Exception{
   FileInputStream in = new FileInputStream(new File(fileName));
   FileOutputStream out = new FileOutputStream(new File("e:\\test.txt"));
   HWPFDocument doc = new HWPFDocument(in);
   System.out.println("文档长度:"+doc.characterLength());
   Range range = doc.getRange();
   String text = range.text();
   System.out.println(text);
   byte[] _inBuf = text.getBytes();
   out.write(_inBuf);
   out.close();
}

如果要每个字符的样式,可以用CharaterRun这个类,它的方法专门用于获得字符和判断的样式。
如:
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.hwpf.usermodel.CharacterRun;
public class Angle {
public static void getAwayAngle(String fileName) throws Exception {
   FileInputStream in = new FileInputStream(new File(fileName));
   HWPFDocument doc = new HWPFDocument(in);
   int length = doc.characterLength();
   StringBuffer sb = new StringBuffer();
   for (int i = 0; i < length-1; i++) {
   Range range = new Range(i, i+1, doc);
       //之所以用这个构造方法,是因为整篇文章的字符判断不准确。只好一个字符一个字符的来判断。
       //而且API的说明文字相当的不全。
   for(int j=0;j<range.numCharacterRuns();j++){
     CharacterRun cr=range.getCharacterRun(j);
     if(cr.getSubSuperScriptIndex()==0)//getSubSuperScriptIndex()这个方法来判断是否是上下角标
     sb.append(range.text());
   }
   }
   System.out.println(sb.toString());
}
public static void main(String[] args) {
   try {
   getAwayAngle("e:\\test1.doc");
   } catch (Exception e) {
   e.printStackTrace();
   }
}
}

在POI中Range这个类是核心类。里面有很多方法用来操作WORD文档。
还有其它比较重要的类Section和Paragraph等。
分享到:
评论

相关推荐

    poi操作word模板

    在"poi操作word模板"的场景中,我们主要关注如何使用Apache POI库来自动化填充Word文档模板,这在批量生成报告、合同或其他需要标准化格式但需个性化数据的文档时非常有用。 首先,理解Apache POI的基本概念是必要...

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

    压缩包文件"POI操作word所需jar包"应该包含了这些必要的组件。确保将它们添加到项目的类路径中,以便编译和运行时能够正确引用。 XWPFDocument是Apache POI处理DOCX文件的核心类。以下是一些关于如何使用...

    poi操作word文档

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

    POI操作WORD 官方测试案例 DEMO.zip

    JAVA操作MS office 工具 POI操作WORD 官方测试案例 DEMO(含jar包,IDEA) 可直接运行测试。 ------------------------------------------------------ 1 什么是Apache POI 全称Apache POI,使用Java编写的免费...

    POI操作Word中插入文本和图片

    Apache POI提供了一套完整的API,使得在Java中操作Word文档变得简单。无论是插入文本还是图片,都可以灵活控制内容和样式。利用这些功能,你可以构建出复杂的动态报告模板,满足各种业务需求。在实际开发中,还可以...

    poi操作word书签,兼容2003和2007

    下载后,运行 可以 Test1中的main方法,注意里面的word模版地址要修改下。...test1.java主要是针对word的书签操作 MSWordTool.java主要是针对word的列表书签的操作,相对来说比较复杂,具体看个人需求。

    POI操作word工具类

    完整的支持POI操作word以下功能: 1.替换模板数据 2,替换表格数据 3.word表格行内添加 4.word写入写出

    java使用POI操作Word文档,写入文字与图片

    首先,要进行POI操作Word文档,你需要确保已经引入了相关的依赖库。在Java项目中,这通常意味着添加Apache POI的JAR包到类路径中。描述中提到的"博文链接"提供了更多关于如何获取和引入这些JAR包的信息。如果你使用...

    POI操作Word资料

    在这个"POI操作Word资料"的主题中,我们将深入探讨如何使用Apache POI来创建、读取、修改和操作Word文档。 首先,Apache POI提供了HWPF(Horrible Word Processor Format)库来处理老版本的Word文档(.doc),以及...

    java poi操作word模版文件生成表单和修改

    在提供的压缩包文件中,"改进wordDemo-master.zip"和"java poi template .zip"可能包含了示例代码和模板文件,用于演示如何使用Java POI操作Word模板生成表单和进行修改。你可以解压并研究这些文件,以更好地理解和...

    poi 操作 word 报表

    poi 操作 word 报表,兼容office 和 wps

    poi操作word实例

    本实例主要关注的是使用POI操作Word文档,具体分为HWPFDocument和XWPFDocument两种方式。 1. HWPFDocument:这是Apache POI处理旧版Word文档(.doc)的方式。HWPFDocument类是POI库中用于读写老式Microsoft Word 97...

    poi操作word和excel实例

    ### POI操作Word和Excel实例详解 #### 一、POI简介 Apache POI是一个流行的Java库,用于处理Microsoft Office格式文件,特别是Excel (.xls, .xlsx) 和 Word (.doc, .docx) 文件。它提供了强大的API来读取、创建、...

    poi操作word在页眉上添加图片

    在这个场景中,"poi操作word在页眉上添加图片"指的是使用Apache POI API来编程地在Word文档的页眉部分插入图像。下面我们将深入探讨如何实现这一功能,以及相关的知识点。 首先,你需要导入Apache POI库到你的项目...

    java POI 操作 WORD 包

    Java POI 操作 Word 是一个高效且广泛使用的技术,它允许开发者在 Java 应用程序中创建、修改和读取 Microsoft Word 文档。相对于其他如 Jacob 的解决方案,POI 提供了更高的性能,并且它的API更为简洁易用。在本文...

    poi操作Word和Excel所需所有jar包

    poi操作Word和Excel所需所有jar包 * poi-3.0.2-FINAL-20080204.jar * poi-contrib-3.0.2-FINAL-20080204.jar * poi-scratchpad-3.0.2-FINAL-20080204.jar * poi-3.5-beta6-20090622.jar * geronimo-stax-...

    POI 操作word

    ### POI 操作 Word #### 一、简介 Apache POI 是一个强大的开源库,用于在 Java 应用程序中处理 Microsoft Office 文件格式。POI 项目提供了多种 API,允许开发者进行读取、修改和创建 Microsoft Office 文件的...

    poi操作word Demo

    poi操作word例子代码,可插入图片。插入表格,插入段落插入标题

    android使用POI操作word docx文档

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

    使用POI操作word

    在这个场景中,我们将重点讨论如何使用POI来操作Word文档。Apache POI提供了一组丰富的API,使得Java开发者能够方便地在程序中创建、修改和处理Word文档。 1. **基础概念** - POI API: 主要由HPSF...

Global site tag (gtag.js) - Google Analytics