1. 程式人生 > >Java程式設計師從笨鳥到菜鳥之(一百零三)java操作office和pdf檔案(一)java讀取word,excel和pd

Java程式設計師從笨鳥到菜鳥之(一百零三)java操作office和pdf檔案(一)java讀取word,excel和pd

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               


     在平常應用程式中,對officepdf文件進行讀取資料是比較常見的功能,尤其在很多web應用程式中。所以今天我們就簡單來看一下java

wordexcelpdf檔案的讀取。本篇部落格只是講解簡單應用。如果想深入瞭解原理。請讀者自行研究一些相關原始碼。

首先我們來認識一下讀取相關文件的jar包:


1. 引用POI包讀取word文件內容

poi.jar 下載地址

http://apache.freelamp.com/poi/release/bin/poi-bin-3.6-20091214.zip 
http://apache.etoak.com/poi/release/bin/poi-bin-3.6-20091214.zip 
http://labs.renren.com/apache-mirror/poi/release/bin/poi-bin-3.6-20091214.zip


2.引用jxl包讀取excel文件的內容

Jxl.jar下載地址

http://nchc.dl.sourceforge.net/project/jexcelapi/CSharpJExcel/CSharpJExcel.zip


3.引用PDFBox讀取pdf文件的內容

Pdfbox.jar下載地址

http://labs.renren.com/apache-mirror/pdfbox/1.1.0/pdfbox-1.1.0.jar 
http://apache.etoak.com/pdfbox/1.1.0/pdfbox-1.1.0.jar 
http://apache.freelamp.com/pdfbox/1.1.0/pdfbox-1.1.0.jar

Fontbox.jar下載地址

http://apache.etoak.com/pdfbox/1.1.0/fontbox-1.1.0.jar 
http://labs.renren.com/apache-mirror/pdfbox/1.1.0/fontbox-1.1.0.jar 
http://apache.freelamp.com/pdfbox/1.1.0/fontbox-1.1.0.jar

Jempbox.jar下載地址

http://labs.renren.com/apache-mirror/pdfbox/1.1.0/jempbox-1.1.0.jar 
http://apache.etoak.com/pdfbox/1.1.0/jempbox-1.1.0.jar 
http://apache.freelamp.com/pdfbox/1.1.0/jempbox-1.1.0.jar

下面我們就來簡單看一下這些jar包的對文件的讀取的應用例項:

1. 引用POI包讀取word文件內容

import java.io.File;   import java.io.FileInputStream;   import org.apache.poi.hwpf.HWPFDocument;   import org.apache.poi.hwpf.usermodel.Range;   /** * * @author 曹勝歡*/ public class DocFile{       @Override     public String getContent(File f) throws Exception {           FileInputStream fis = new FileInputStream(f);           HWPFDocument doc = new HWPFDocument(fis);           Range rang = doc.getRange();           String text = rang.text();           fis.close();           return text;       }   



2. 引用 jxl 包讀取 excel 文件的內容


import java.io.File;   import java.io.FileInputStream;   import jxl.Cell;   import jxl.Sheet;   import jxl.Workbook;   /** * * @author 曹勝歡*/ public class XlsFile{       @Override       public String getContent(File f) throws Exception {        //構建Workbook物件, 只讀Workbook物件     //直接從本地檔案建立Workbook      //從輸入流建立Workbook        FileInputStream fis = new FileInputStream(f);           StringBuilder sb = new StringBuilder();           jxl.Workbook rwb = Workbook.getWorkbook(fis);   //一旦建立了Workbook,我們就可以通過它來訪問//Excel Sheet的陣列集合(術語:工作表),//也可以呼叫getsheet方法獲取指定的工資表        Sheet[] sheet = rwb.getSheets();           for (int i = 0; i < sheet.length; i++) {               Sheet rs = rwb.getSheet(i);               for (int j = 0; j < rs.getRows(); j++) {                  Cell[] cells = rs.getRow(j);                  for(int k=0;k<cells.length;k++)                  sb.append(cells[k].getContents());               }           }           fis.close();           return sb.toString();       }   }


由上面程式碼我們可知:一旦得到了Sheet,我們就可以通過它來訪問Excel Cell(術語:單元格)。參考下面的程式碼片段:
//獲取第一行,第一列的值
Cell c00 = rs.getCell(0, 0);
String strc00 = c00.getContents();
//獲取第一行,第二列的值
Cell c10 = rs.getCell(1, 0);
String strc10 = c10.getContents();
當你完成對Excel電子表格資料的處理後,一定要使用close()方法來關閉先前建立的物件,以釋放讀取資料表的過程中所佔用的記憶體空間,在讀取大量資料時顯得尤為重要。

3.引用PDFBox讀取pdf文件的內容


import java.io.File;   import java.io.FileInputStream;   import org.pdfbox.pdfparser.PDFParser;   import org.pdfbox.pdmodel.PDDocument;   import org.pdfbox.util.PDFTextStripper;   /** * * @author 曹勝歡*/ 
public class PdfFile{       public String getContent(File f) throws Exception {           FileInputStream fis = new FileInputStream(f);           PDFParser p = new PDFParser(fis);           p.parse();           PDDocument pdd = p.getPDDocument();           PDFTextStripper ts = new PDFTextStripper();           String c = ts.getText(pdd);           pdd.close();           fis.close();           return c;       }   }



------------------------------------------------------------------------------------------------------------------------
  廣告:我參加了2012年度IT部落格大賽,希望大家能多多支援

http://blog.51cto.com/contest2012/3545281

------------------------------------------------------------------------------------------------------------

《Java程式設計師由笨鳥到菜鳥》電子版書正式釋出,歡迎大家下載


http://blog.csdn.net/csh624366188/article/details/7999247



           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述