Java操作word工具的選擇:java在線編輯word插件

在實際的開發中都會遇到 Java操作word文檔,pdf文檔,excel表格,以實現基本的功能和需要。如果沒有接觸之前,我們無從下手,今天我就對這些操作用什麼工具或者方法做一些簡單的陳述,以便可以直接查找對應的資料。

Java操作word文檔:

Java 操作word,對word文檔進行讀寫時,主要用 Apache寫的POI這個工具類,網上有POI對用的API和文檔,在自己實際的項目中可以查找對應的API進行對應的操作。特別注意的是: word 文檔分03版和07版的,doc和docx兩種,這兩種讀取的方式是不同的。以.docx文件結尾實際上也是壓縮文件,當你把docx後綴名改成.zip,然後解壓可以看到很多xml文件,實際上讀取docx文檔就是解析xml文檔。不相信的可以自己嘗試。

把docx改成為zip 的效果圖

Java操作word工具的選擇
Java操作word工具的選擇

1 什麼是Apache POI

全稱Apache POI,使用Java編寫的免費開源的跨平台的Java API。是創建和維護操作各種符合 Office Open XML(OOXML)標準和微軟的 OLE 2 複合文檔格式(OLE2)的 Java API。用它可以使用 Java 讀取和創建, 修改 MS Excel 文件. 而且, 還可以使用 Java 讀取和創建 MS Word 和 MSPowerPoint 文件。Apache POI 提供 Java 操作 Excel 解決方案(適用於 Excel97-2008)。

2 Apache POI的組件

Apache POI包含用於MS-Office的所有OLE2複合文檔的類和方法。此API的組件列表如下:

附上一個簡單的代碼: POIFS:此組件是所有其他POI元素的基本因素。它用於顯式讀取不同的文件。HSSF:用於讀取和寫入.xls格式的MS-Excel文件。XSSF(XML SpreadSheet格式):用於MS-Excel的.xlsx文件格式。HPSF:用於提取MS-Office文件的屬性集。HWPF:用於讀取和寫入MS-Word的.doc擴展文件。XWPF(XML字處理器格式):用於讀取和寫入MS-Word的擴展文件 .docx 。HSLF:用於閱讀,創建和編輯PowerPoint演示文稿。HDGF(Horrible DiaGram格式):它包含MS-Visio二進制文件的類和方法。HPBF(Horrible PuBlisher格式):用於讀取和寫入MS-Publisher文件。

package com.lq.readDoc;
 
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.extractor.POIXMLTextExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
 
/**
 * 讀取文檔中的doc和docx的內容
 */
public class ReadDocUtils {
 
    public static String ReadDoc(String path) throws IOException {
        String resullt = "";
        //首先判斷文件中的是doc/docx
        try {
            if (path.endsWith(".doc")) {
                InputStream is = new FileInputStream(new File(path));
                WordExtractor re = new WordExtractor(is);
                resullt = re.getText();
                re.close();
            } else if (path.endsWith(".docx")) {
                OPCPackage opcPackage = POIXMLDocument.openPackage(path);
                POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
                resullt = extractor.getText();
                extractor.close();
            } else {
                System.out.println("此文件不是word文件");
            }
            } catch(Exception e){
                e.printStackTrace();
            }
            return resullt;
        }
}

Java 操作PDF文檔:

Java 操作PDF文檔使用Itext 工具類比較方便,可以替換文字,上傳圖片,進行word和PDf之間的轉化。網上有對應的文檔和API,可以自己查找封裝工具類。

Java 操作Excel表格:

Java 操作Excel: 目前我了解到的主要工具類有兩個,一個是Apache的POI,另一個是Alibaba 開源的EasyExcel,EasyExcel解決了 POI 中存在的問題,如果要excel數據量很小,可以用Apache下的,如何是海量數據,建議用EasyExcel,他又很多優勢。

EasyExcel的核心功能

讀任意大小的03、07版Excel不會OOM讀Excel自動通過註解,把結果映射為java模型讀Excel支持多sheet讀Excel時候是否對Excel內容做trim()增加容錯寫小量數據的03版Excel(不要超過2000行)寫任意大07版Excel不會OOM寫Excel通過註解將表頭自動寫入Excel寫Excel可以自定義Excel樣式 如:字體,加粗,表頭顏色,數據內容顏色寫Excel到多個不同sheet寫Excel時一個sheet可以寫多個Table寫Excel時候自定義是否需要寫表頭

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/219301.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 10:56
下一篇 2024-12-09 10:56

相關推薦

發表回復

登錄後才能評論