首頁>技術>

在實際的開發中都會遇到 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 的效果圖

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://blog.csdn.net/lq18894033018/article/details/97934901

17
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • ASP.NET Core錯誤處理中介軟體「3」: 異常處理器