程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中應用Apache POI讀取word文件簡略示例

Java中應用Apache POI讀取word文件簡略示例

編輯:關於JAVA

Java中應用Apache POI讀取word文件簡略示例。本站提示廣大學習愛好者:(Java中應用Apache POI讀取word文件簡略示例)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中應用Apache POI讀取word文件簡略示例正文


Apache POI是Apache軟件基金會的開放源碼函式庫,POI供給API給Java法式對Microsoft Office格局檔案讀和寫的功效。

1.讀取word 2003及word 2007須要的jar包

  讀取 2003 版本(.doc)的word文件絕對來講比擬簡略,只須要 poi-3.5-beta6-20090622.jar 和 poi-scratchpad-3.5-beta6-20090622.jar 兩個 jar 包便可, 而 2007 版本(.docx)就費事多,我說的這個費事不是我們寫代碼的時刻費事,是要導入的 jar 包比擬的多,有以下 7 個之多:
 1. openxml4j-bin-beta.jar
 2. poi-3.5-beta6-20090622.jar
 3. poi-ooxml-3.5-beta6-20090622.jar
 4 .dom4j-1.6.1.jar
 5. geronimo-stax-api_1.0_spec-1.0.jar
 6. ooxml-schemas-1.0.jar
 7. xmlbeans-2.3.0.jar
個中 4-7 是 poi-ooxml-3.5-beta6-20090622.jar 所依附的 jar 包(在 poi-bin-3.5-beta6-20090622.tar.gz 中的 ooxml-lib 目次下可以找到)。

2.換行符號

  硬換行:文件中換行,假如是鍵盤中應用了"enter"的換行。

  軟換行:文件中一行的字符數容量無限,當字符數目跨越必定值時,會主動切到下行顯示。

  對法式來講,硬換行才是可以辨認的、肯定的換行,軟換行與字體年夜小、縮進有關。

3.讀取的留意事項

  值得留意的是: POI 在讀取不會讀取 word 文件中的圖片信息; 還有就是關於 2007 版的 word(.docx), 假如 word 文件中有表格,一切表格中的數據都邑在讀掏出來的字符串的最初。

4.讀取word文本內容代碼

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

public class Test {
  public static void main(String[] args) {
    try {
      InputStream is = new FileInputStream(new File("2003.doc"));
      WordExtractor ex = new WordExtractor(is);
      String text2003 = ex.getText();
      System.out.println(text2003);

      OPCPackage opcPackage = POIXMLDocument.openPackage("2007.docx");
      POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
      String text2007 = extractor.getText();
      System.out.println(text2007);
      
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved