使用Apache POI和OpenOffice API在Linux中統計Office文檔的頁數

來源:互聯網
上載者:User

Apache POI 介紹

Apache POI 是一套用於訪問微軟 Office 格式文檔 (Word, Excel and PowerPoint) 的 Java API。其中用於操作 Excel 格式檔案的 API 是 HSSF,用於操作 Word 格式檔案的 API 是 HWPF 以及用於操作 PowerPoint 格式檔案的 API 是 HSLF。

POI 的官方網站是 http://poi.apache.org,使用者可以先從這裡下載最新的版本 3.6, 下載解壓后里面有三個 jar 包(poi-3.6-20091214.jar,poi-contrib-3.6-20091214.jar 和 poi-scratchpad-3.6- 20091214.jar)將這三個 jar 包拷貝至 Eclipse 工程的 lib 目錄中,然後重新整理工程即可載入 POI 的類庫。

POI 主要組成部分

POIFS:POIFS 是該項目的最古老,最穩定的一部分,它同時支援讀寫功能,所有的組件最終都依賴於 它的定義。

POIFS 對於 OLE 2 檔案操作: POIFS 的基礎是最古老和最穩定的項目的一部分。這是我們的 OLE 2 複 合文檔格式的純 Java 實現。它同時支援閱讀和書寫功能。我們的組成部分都最終依賴於它的定義。更多資訊請參閱 POIFS 項目頁。

HSSF 對於 Excel 檔案操作:HSSF 是針對 Microsoft Excel 97(-2003)檔案格式(BIFF8)的文檔操作 的純 Java 實現。它支援閱讀和書寫能力。更多資訊請參閱 HSSF 項目頁。

HWPF 對於 Word 檔案操作:HWPF 是針 對 Microsoft Word 97 檔案格式的文檔操作的純 Java 介面。該組件是在發展的初期階段,對 word 文檔的讀寫能力有限 ,僅僅可以閱讀和書寫簡單的 word 檔案,更多資訊 HWPF 請參閱 HWPF 的項目頁。

HSLF 對於 PowerPoint 檔案操 作:HSLF 是針對 Microsoft PowerPoint 97(-2003)檔案格式的文檔操作的純 Java 介面。它支援閱讀和書寫能力。更多 資訊請參閱 HSLF 項目頁。

HDGF 對於 Visio 檔案操作:除此之外 POI 還提供了 HDGF 對微軟 Visio97(-2003) 檔案格式的文檔操作的純 Java 介面。它目前只支援讀取操作,在一個很低的水平,只支援簡單的文本提取。更多資訊請參 閱 HDGF 項目頁。

HPSF 文件屬性:HPSF 是這對 OLE 2 設定格式的純 Java 介面。主要是用來隱藏檔的屬性集( 如:標題,作者,最後修改日期等屬性),他們可以為特定應用目的所使用。更多資訊請參閱 HPSF 項目頁。

下面 我們簡單的介紹一下項目中經常會使用到的對於 Excel 和 Word 格式檔案進行操作的介面:

HSSF 介面

目前 POI 比較成熟的部分是 HSSF 介面,處理 MS Excel(97-2003)對象。它不像我們僅僅使用 csv 產生的沒有格式的可以由 Excel 轉換的東西,而是真正的 Excel 對象,你可以控制一些屬性如 cell,sheet 等等。當然,HSSF 也有一些缺點,比 如不能直接支援 Excel 圖表,包與包之間依賴關係比較複雜等等。

對於統計頁數 (sheet 個數 ) 來說,HSSF 介面 可以很簡單的完成這一功能。下面我們簡單的介紹一下 HSSF 介面:

HSSF 提供給我們使用的對象在 org.apache.poi.hssf.usermodel 包中,主要部分包括 Excel 對象,樣式和格式,還有輔助操作。主要有以下幾種對象:

HSSFWorkbook: 對應於 Excel 的文檔對象

HSSFSheet: 對應於 Excel 的表單

HSSFRow: 對應於 Excel 的行

HSSFCell: 對應於 Excel 的格子單元

HSSFFont: 對應於 Excel 字型

HSSFName: 對應 於 Excel 名稱

HSSFDataFormat: 對應於日期格式

HSSFHeader: 對應於 Sheet 頭

HSSFFooter: 對 應於 Sheet 尾

HSSFCellStyle: 對應於 Cell 樣式

輔助操作包括:

HSSFDateUtil 日期

HSSFPrintSetup 列印

HSSFErrorConstants 錯誤資訊表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.