亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

poi操作word文檔文件操作

系統(tǒng) 1911 0
      import org.apache.poi.POITextExtractor; 

import org.apache.poi.hwpf.extractor.WordExtractor; 

//得到.doc文件提取器 

org.apache.poi.hwpf.extractor.WordExtractor doc = new WordExtractor(new FileInputStream(filePath)); 

//提取.doc正文文本 

String text = doc.getText(); 

//提取.doc批注 

String[] comments = doc. getCommentsText(); 



2007 



import org.apache.poi.POITextExtractor; 

import org.apache.poi.xwpf.extractor.XWPFWordExtractor; 

import org.apache.poi.xwpf.usermodel.XWPFComment; 

import org.apache.poi.xwpf.usermodel.XWPFDocument; 

//得到.docx文件提取器 

org.apache.poi.xwpf.extractor.XWPFWordExtractor docx = new XWPFWordExtractor(POIXMLDocument.openPackage(filePath)); 

//提取.docx正文文本 

String text = docx.getText(); 

//提取.docx批注 

org.apache.poi.xwpf.usermodel.XWPFComment[] comments = docx.getDocument()).getComments(); 

for(XWPFComment comment:comments){ 

comment.getId();//提取批注Id 

comment.getAuthor();//提取批注修改人 

comment.getText();//提取批注內(nèi)容 

} 

五:利用POI提取Word總頁(yè)數(shù)、總字符數(shù)... 

97-2003 

WordExtractor doc = new WordExtractor(new FileInputStream(filePath));//.doc格式Word文件提取器 

int pages = doc.getSummaryInformation().getPageCount();//總頁(yè)數(shù) 

int wordCount = doc.getSummaryInformation().getWordCount();//總字符數(shù) 

2007: 



XWPFDocument docx = nnew XWPFDocument(POIXMLDocument.openPackage(filePath)); 



int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//總頁(yè)數(shù) 

int characters = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的總字符數(shù) 另外還有g(shù)etCharactersWithSpaces()方法獲取帶空格的總字?jǐn)?shù)。 
    

小技巧:
2007采用了全新的OFFICE OPEN XML格式來(lái)存儲(chǔ),跟以前二進(jìn)制文件格式的office 97-2003(.doc、.xls...)不同,所以可以直接重命名xx.docx的文件為xx.zip,用WinRar打開可以看到office2007的存儲(chǔ)文件,其中word/document.xml里面保存了最重要的正文內(nèi)容,word/comments.xml保存的是批注內(nèi)容,可以多研究一下這些文件,有助于開發(fā)~

Office Open XML 文件格式簡(jiǎn)介 www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx
隨著20世紀(jì)90年代XML的出現(xiàn),企業(yè)計(jì)算客戶開始逐漸認(rèn)識(shí)到,在他們所依賴的計(jì)算機(jī)產(chǎn)品和應(yīng)用中采用開放的格式和標(biāo)準(zhǔn)所帶來(lái)的商業(yè)價(jià)值。IT專業(yè)人員將從通用的數(shù)據(jù)格式中受益匪淺,這種格式可能是XML,因?yàn)樗鼡碛斜粦?yīng)用程序、平臺(tái)和Internet瀏覽器讀取的能力。

同樣,隨著在Microsoft Office 2000中對(duì)于XML格式的支持與采用,開發(fā)人員開始認(rèn)識(shí)到,他們需要將以前的Microsoft Office版本中的二進(jìn)制文件格式轉(zhuǎn)換為XML格式。二進(jìn)制文件(.doc,.dot,.xls,以及.ppt文件)在過去幾年中一直肩負(fù)著存儲(chǔ)和轉(zhuǎn)換數(shù)據(jù)的重任,而現(xiàn)在它們無(wú)法滿足新的市場(chǎng)需求的挑戰(zhàn),其中包括輕松地在異構(gòu)應(yīng)用之間傳遞數(shù)據(jù),以及允許用戶從這些數(shù)據(jù)中搜集商業(yè)信息。

2007 Microsoft Office system為Microsoft Office Excel 2007,Microsoft Office Word 2007,和Microsoft Office PowerPoint 2007采用了基于XML的文件格式,從而延續(xù)了這種轉(zhuǎn)移。新的文件格式,稱為Office Open XML格式,解決了上述市場(chǎng)需求的問題,同時(shí)改變了您基于Microsoft Office文檔建立解決方案的方式

POI是Apache的一個(gè)開源項(xiàng)目,可以到Apache網(wǎng)站下載相應(yīng)的jar包文件,及其源文件。

POI提供了提取一些非TXT文本中文本內(nèi)容的API,比如提取Word,Excel等,使用起來(lái)非常方便。

為了說(shuō)明POI提起Word文件的方便和簡(jiǎn)單,通過提取一個(gè)Word文件的文本來(lái),來(lái)了解POI API的功能。

假設(shè)在本地磁盤中存在一個(gè)Word文件

E:\POI\word\JBoss3.0 下配置和部署EJB簡(jiǎn)介.doc文件是具有格式的,內(nèi)容如圖所示:


下面看看提取它的內(nèi)容是多么簡(jiǎn)單。

首先從Apache網(wǎng)站上下載POI的相關(guān)jar包。

新建一個(gè)測(cè)試類:

      package org.shirdrn.word; 



import java.io.File; 

import java.io.FileInputStream; 

import java.io.FileNotFoundException; 

import java.io.IOException; 



import org.apache.poi.hwpf.extractor.WordExtractor; 



public class MyWordExtractor { 



public static void main(String[] args) { 

   File file = new File("E:\\POI\\word\\JBoss3.0 下配置和部署EJB簡(jiǎn)介.doc"); 

   try { 

    FileInputStream fis = new FileInputStream(file); 

    WordExtractor wordExtractor = new WordExtractor(fis); 

    System.out.println("【 使用getText()方法提取的Word文件的內(nèi)容如下所示:】"); 

    System.out.println(wordExtractor.getText()); 

   } catch (FileNotFoundException e) { 

    e.printStackTrace(); 

   } catch (IOException e) { 

   e.printStackTrace(); 

} 

} 

} 
    

?

提取Word文件的文本內(nèi)容,打印到控制臺(tái)上,如下所示:

使用WordExtractor類的getTextFromPieces()方法提取:

wordExtractor.getTextFromPieces();

結(jié)果和上面是一樣的。

WordExtractor類還有一個(gè)可以提取Word文件的各個(gè)段落的方法getParagraphText(),返回一個(gè)String[]數(shù)組,數(shù)組中每個(gè)元素為一個(gè)段的文本內(nèi)容。

這里,對(duì)Word文件中換行也看成是一個(gè)段,測(cè)試如下:

      package org.shirdrn.word; 



import java.io.File; 

import java.io.FileInputStream; 

import java.io.FileNotFoundException; 

import java.io.IOException; 



import org.apache.poi.hwpf.extractor.WordExtractor; 



public class MyWordExtractor { 



public static void main(String[] args) { 

   File file = new File("E:\\POI\\word\\JBoss3.0 下配置和部署EJB簡(jiǎn)介.doc"); 

   try { 

    FileInputStream fis = new FileInputStream(file); 

    WordExtractor wordExtractor = new WordExtractor(fis); 

    System.out.println("【 使用getText()方法提取的Word文件的內(nèi)容如下所示:】"); 

    String[] paragraph = wordExtractor.getParagraphText(); 

    System.out.println("該Word文件共有"+paragraph.length+"段。"); 

    for(int i=0;i<paragraph.length;i++){ 

     System.out.println("< 第 "+(i+1)+" 段的內(nèi)容為 >"); 

     System.out.println(paragraph[i]); 

    } 

   } catch (FileNotFoundException e) { 

    e.printStackTrace(); 

   } catch (IOException e) { 

   e.printStackTrace(); 

} 

} 

} 
    

提取Word文件的文本內(nèi)容,打印到控制臺(tái)上,如下所示:

從上面的Word文件可以看出,最后一行是Word文件的一個(gè)換行符,使用WordExtractor提取時(shí),也把它默認(rèn)成為一個(gè)段,因?yàn)橐粋€(gè)段結(jié)束后應(yīng)該有一個(gè)回車換行符。

如果有多個(gè)Word文件,而且放在不同的目錄下,要提取它們的文本內(nèi)容,可以實(shí)現(xiàn)一個(gè)遞歸的函數(shù),通過深度遍歷,為每一個(gè)Word文件進(jìn)行提取。

如果需要,可以將提取到的Word文件的文本內(nèi)容輸出到本地磁盤中,比如以txt記事本的根式保存。

從上面可以看出,提取Word文件的文本內(nèi)容,實(shí)際上是將Word文件的格式去掉了,獲取到文本的內(nèi)容。

poi操作word文檔文件操作


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美特黄级乱色毛片 | 国产成人精品日本亚洲专一区 | 天天操天天弄 | 国产成人影院一区二区 | 99视频免费在线 | 真实子伦视频不卡 | 老子影院午夜伦不卡不四虎卡 | 国内一区亚洲综合图区欧美 | 9久久这里只有精品国产 | 久久美女精品国产精品亚洲 | 在线播放日韩 | 精品免费久久久久久成人影院 | 99r视频| 久久久久日韩精品无 | 亚洲欧美日韩精品 | 国产成人mv在线观看入口视频 | 精品亚洲综合久久中文字幕 | 久久天天操 | 日本欧美高清视频 | 久久香蕉影视 | 国产亚洲精品久久久久久久网站 | 国产精品久久久99 | 毛片在线视频观看 | 国产精品日韩欧美在线第3页 | 男人午夜影院 | 久久国产美女免费观看精品 | 国产午夜成人无码免费看 | 国产福利在线免费观看 | 亚洲欧美一级久久精品 | 激情小视频在线播放免费 | 亚洲综合久久久久久中文字幕 | 免费看欧美毛片大片免费看 | 日本a视频在线观看 | 天天天天天操 | 亚洲免费黄色网 | 在线日产一区二区 | 综合精品| 精品日韩 | 国产精品久久久精品视频 | 国产亚洲欧美另类久久久 | 变态 调教 视频 国产九色 |