一、
POI是Apache的一個子項目,其目的是提供對基於OOXML(Microsoft Office Open XML)和OLE2(Object Linking and Embedding)的各種文檔操作的Java APIs包。該項目分爲幾個組件,其中包括一個叫做HWPF的組件,它只能操作Word文件。這就是我將要使用的組件。HWPF的全稱是Horrible Word Processor Format。翻譯成中文是“可怕的文檔處理格式”,利用HWPF,開發者可以用純Java代碼實現在Android系統是讀取Word文檔。HWPF組件是POI項目中用來實現Word文檔讀取的一個重要組件,以下是該組件中幾個重要的類:
(1)Range:是所有HWPF對象模型的核心類,Word文檔中字符的所有屬性都是繼承這個類得到的。
(2)HWPFDocument:文件類。任何形式的Word文檔的最終表現形式都是對該對象進行一些屬性的定製。
(3)Paragraph:是Word文檔中基本的組成部分,每個文檔都被劃分成一個一個的段落,所有的段落最終組成一個Word文檔。
(4)Picture:Word文檔中嵌入的每張圖片都是由Picture對象來表示的,它包括了圖片的大小、內容等一系列屬性。
(5)Table:Word文檔中嵌入的每張表格都是有Table對象來表示的,它包括了表格中每行的TableRow對象和行數等屬性。
其他的類文件對以上核心的類進行功能補充,最終完成了Word 文檔的讀取。
由於Word格式文檔中有圖片、表格和字符串,爲了能在android系統上全部進行顯示,選擇使用WebView進行顯示。首先將Word格式文檔中的內容讀取出來,加上對應的HTML標籤,然後寫入HTML文件中,最後直接使用WebView進行讀取HTML文件的內容。