java使用poi讀取ppt文件和poi讀取excel、word示例_第1頁
java使用poi讀取ppt文件和poi讀取excel、word示例_第2頁
java使用poi讀取ppt文件和poi讀取excel、word示例_第3頁
java使用poi讀取ppt文件和poi讀取excel、word示例_第4頁
java使用poi讀取ppt文件和poi讀取excel、word示例_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、java使用poi讀取ppt文件和poi讀取excel、word示例Apache的POI項目可以用來處理MS Office文檔,codeplex上還有一個它的.net版本。POI項目可創(chuàng)建和維護(hù)操作各種基于OOXML和OLE2文件格式的Java API。大多數(shù)MS Office都是OLE2格式的。POI通HSMF子項目來支持Outlook,通過HDGF子項目來支持Visio,通過HPBF子項目來支持Publisher。使用POI抽取Word簡單示例:要引入poi-3.7.jat和poi-scratchpad-3.7.ajr這兩個包。復(fù)制代碼 代碼如下:package msoffice;impo

2、rt java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import org.apache.poi.hwpf.HWPFDocument;import org.apache.poi.hwpf.extractor.WordExtractor;import org.apache.poi.hwpf.usermodel.CharacterRun;import org.apache.poi.hwpf.usermodel.Paragraph;import org.

3、apache.poi.hwpf.usermodel.Range;import org.apache.poi.hwpf.usermodel.Section;public class Word     / 直接抽取全部內(nèi)容    public static String readDoc1(InputStream is) throws IOException         WordExtractor extractor = new WordExtractor(is);&

4、#160;       return extractor.getText();        /分章節(jié)Section、段落Paragraph、字符串CharacterRun抽取    public static void readDoc2(InputStream is) throws IOException         HWPFDocument doc=new HWPFDo

5、cument(is);        Range r=doc.getRange();        for(int x=0;x<r.numSections();x+)            Section s=r.getSection(x);        

6、60;   for(int y=0;y<s.numParagraphs();y+)                Paragraph p=s.getParagraph(y);                for(int z=0;z<p.numCharacterRun

7、s();z+)                    CharacterRun run=p.getCharacterRun(z);                    String text=run.text();&#

8、160;                   System.out.print(text);                             

9、               public static void main(String args)         File file = new File("/home/orisun/1.doc");        try        

10、60;    FileInputStream fin = new FileInputStream(file);            String cont = readDoc1(fin);            System.out.println(cont);       &

11、#160;    fin.close();            fin = new FileInputStream(file);            readDoc2(fin);            fin.close(); 

12、;       catch (IOException e)             e.printStackTrace();            POI抽取PPT示例:復(fù)制代碼 代碼如下:package msoffice;import java.io.File;import java.io.FileInputStream;im

13、port java.io.IOException;import java.io.InputStream;import org.apache.poi.hslf.HSLFSlideShow;import org.apache.poi.hslf.extractor.PowerPointExtractor;import org.apache.poi.hslf.model.Slide;import org.apache.poi.hslf.model.TextRun;import org.apache.poi.hslf.usermodel.SlideShow;public class PPT  

14、   /直接抽取幻燈片的全部內(nèi)容    public static String readDoc1(InputStream is) throws IOException        PowerPointExtractor extractor=new PowerPointExtractor(is);        return extractor.getText();    &

15、#160;   /一張幻燈片一張幻燈片地讀取    public static void readDoc2(InputStream is) throws IOException        SlideShow ss=new SlideShow(new HSLFSlideShow(is);        Slide slides=ss.getSlides();    

16、    for(int i=0;i<slides.length;i+)            /讀取一張幻燈片的標(biāo)題            String title=slidesi.getTitle();            Sys

17、tem.out.println("標(biāo)題:"+title);            /讀取一張幻燈片的內(nèi)容(包括標(biāo)題)            TextRun runs=slidesi.getTextRuns();            for(int

18、j=0;j<runs.length;j+)                System.out.println(runsj.getText();                            pu

19、blic static void main(String args)        File file = new File("/home/orisun/2.ppt");        try            FileInputStream fin=new FileInputStream(file);  

20、;          String cont=readDoc1(fin);            System.out.println(cont);            fin.close();        

21、;    fin=new FileInputStream(file);            readDoc2(fin);            fin.close();        catch(IOException e)    

22、60;       e.printStackTrace();            Excel文件由多個Workbook組成,一個Workbook由多個Sheet組成。POI抽取Excel簡單示例:復(fù)制代碼 代碼如下:package msoffice;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.I

23、nputStream;import java.util.Iterator;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.extractor.ExcelExtractor;import org.apache.poi.p

24、oifs.filesystem.POIFSFileSystem;import org.apache.poi.ss.usermodel.Row;public class Excel     /直接讀取Excel的全部內(nèi)容    public static String readDoc1(InputStream is)throws IOException        HSSFWorkbook wb=new HSSFWorkbook(new POIFSFileSyste

25、m(is);        ExcelExtractor extractor=new ExcelExtractor(wb);        extractor.setFormulasNotResults(false);        extractor.setIncludeSheetNames(true);       

26、; return extractor.getText();        /讀取時細(xì)化到Sheet、行甚至單元格    public static double getAvg(InputStream is)throws IOException        HSSFWorkbook wb=new HSSFWorkbook(new POIFSFileSystem(is);     

27、0;  /獲取第一張sheet        HSSFSheet sheet=wb.getSheetAt(0);        double molecule=0.0;        double denominator=0.0;        /按行遍歷sheet   

28、0;    Iterator<Row> riter=sheet.rowIterator();        while(riter.hasNext()            HSSFRow row=(HSSFRow)riter.next();            H

29、SSFCell cell1=row.getCell(4);            HSSFCell cell2=row.getCell(4);            if(cell1.getCellType()!=HSSFCell.CELL_TYPE_NUMERIC)         &#

30、160;      System.err.println("數(shù)字類型錯誤!");                System.exit(-2);                    

31、60;   if(cell2.getCellType()!=HSSFCell.CELL_TYPE_NUMERIC)                System.err.println("數(shù)字類型錯誤!");                System.exit

32、(-2);                        denominator+=Double.parseDouble(cell2.toString().trim();            molecule+=Double.parseDouble(cell2.toString().trim()*Float.parseFloat(cell1.toString().trim();                return molecule/denominator;  

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論