Apache poi操作doc,docx,xsl,xslx文件
来源:互联网 发布:网络摄像头网线接法 编辑:程序博客网 时间:2024/03/28 23:11
为了对文件内容进行索引,必须先抽取出文件中文本。我们使用Apache POI提供的API来抽取office文件(DOC, DOCX, XLS, XLSX, PPT, PPTX)中的文本。很多人在使用开源API的时候都很纳闷,Javadocs那么大,我要的API在到底在哪个类里边。即使找到了也不明白这么多构造函数该用哪个创建想要的对象。本文给大家讲一下POI中我们该如何创建抽取(DOC, DOCX, XLS, XLSX, PPT, PPTX)的对象。
(1) 使用ExtractorFactory.createExtractor(InputStream) 创建抽取对象,返回的是公共接口对象,因此强制转换
InputStream fis = new FileInputStream(filePath);
WorderExtractor extractor = (WordExtractor) ExtractorFactory.createExtractor(fis);
(2) 使用WordExtractor创建抽取对象
介绍一下最后两种:
最后第二种接收InputStream来创建对象;
最后一种接收POIFSFileSystem来创建对象:
POIFSFileSystem也接收InputStream来创建对象。
回过头来看看最后第三个构造函数,接收HWPFDocument来创建对象;
HWPFDDocument通过接收InputStream或者POIFSFileSystem来创建对象。
org.apache.poi.xwpf.extractor.XWPFWordExtractor
这个类能够处理excel2007+(.docx)
(1)该类对象的父类可以使用ExtratorFactory生成,但需要接收的参数是个virtual 对象OPCPackage,该对象不好确定。因此我们直接使用(2)中的方法创建对象
(2)新建XWPFWordExtractor对象
我们使用第二个构造函数,通过接收XWPFDocument对象来创建
XWPFDocument可以接收inputStream对象。
(1)同DOC,通过ExtractorFactory创建
(2)新建ExcelExtractor对象
1)同DOC,通过接收POIFSFileSystem来创建对象
2)通过接收HSSFWorkbook来创建对象
HSSFWorkbook对象可以通过接收POIFSFileSystem或者InputStream对象来创建
org.apache.poi.xssf.extractor.XSSFExcelExtractor
直接新建XSSFExcelExtractor对象:
通过接收XSSFWorkbook对象来创建:
发现XSSFWorkbook可以接收inputStream对象
(2)直接使用PowerPointExtractor创建对象
通过接收HSLFSlideShow对象、POIFSFileSystem对象或文件名即可创建。
org.apache.poi.xslf.extractor.XSLFPowerPointExtractor
同XLSX,直接创建XSLFPowerPointExtractor对象
(1)接收XMLSlideShow对象
通过接收InputStream来创建XMLSlideShow对象
(2)接收XSLFSlideShow对象
- 下载Apache POI(http://poi.apache.org/download.html#POI-3.10-beta2)
- 把下面5个jar包和两个lib文件夹中的jar导入项目classpath
- poi-3.10-beta1-20130628.jar
- poi-excelant-3.10-beta1-20130628.jar
- poi-ooxml-3.10-beta1-20130628.jar
- poi-ooxml-schemas-3.10-beta1-20130628.jar
- poi-scratchpad-3.10-beta1-20130628.jar
- /lib
- /ooxml-lib
DOC
org.apache.poi.hwpf.extractor.WordExtractor
这个类只能处理word 2003文档(.doc)(1) 使用ExtractorFactory.createExtractor(InputStream) 创建抽取对象,返回的是公共接口对象,因此强制转换
InputStream fis = new FileInputStream(filePath);
WorderExtractor extractor = (WordExtractor) ExtractorFactory.createExtractor(fis);
(2) 使用WordExtractor创建抽取对象
介绍一下最后两种:
最后第二种接收InputStream来创建对象;
最后一种接收POIFSFileSystem来创建对象:
POIFSFileSystem也接收InputStream来创建对象。
回过头来看看最后第三个构造函数,接收HWPFDocument来创建对象;
HWPFDDocument通过接收InputStream或者POIFSFileSystem来创建对象。
DOCX
org.apache.poi.POITextExtractor
org.apache.poi.POIXMLTextExtractororg.apache.poi.xwpf.extractor.XWPFWordExtractor
这个类能够处理excel2007+(.docx)
(1)该类对象的父类可以使用ExtratorFactory生成,但需要接收的参数是个virtual 对象OPCPackage,该对象不好确定。因此我们直接使用(2)中的方法创建对象
(2)新建XWPFWordExtractor对象
我们使用第二个构造函数,通过接收XWPFDocument对象来创建
XWPFDocument可以接收inputStream对象。
XLS
org.apache.poi.hssf.extractor.ExcelExtractor
这个类只能处理excel 2003(.xls)(1)同DOC,通过ExtractorFactory创建
(2)新建ExcelExtractor对象
1)同DOC,通过接收POIFSFileSystem来创建对象
2)通过接收HSSFWorkbook来创建对象
HSSFWorkbook对象可以通过接收POIFSFileSystem或者InputStream对象来创建
样例代码:
- <span style="font-family:Times New Roman; font-size:14px">InputStream inp = new FileInputStream(this.filePath);
- HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
- extractor = new ExcelExtractor(wb);
- //filter formulas from the results
- this.extractor.setFormulasNotResults(true);
- //filter Sheet name from the results
- this.extractor.setIncludeSheetNames(false);
- content = this.extractor.getText();</span>
XLSX
org.apache.poi.POITextExtractor
org.apache.poi.POIXMLTextExtractororg.apache.poi.xssf.extractor.XSSFExcelExtractor
直接新建XSSFExcelExtractor对象:
通过接收XSSFWorkbook对象来创建:
发现XSSFWorkbook可以接收inputStream对象
PPT
org.apache.poi.hslf.extractor.PowerPointExtractor
(1)同DOC,用ExtractorFactory创建对象(2)直接使用PowerPointExtractor创建对象
通过接收HSLFSlideShow对象、POIFSFileSystem对象或文件名即可创建。
PPTX
org.apache.poi.POITextExtractor
org.apache.poi.POIXMLTextExtractororg.apache.poi.xslf.extractor.XSLFPowerPointExtractor
同XLSX,直接创建XSLFPowerPointExtractor对象
(1)接收XMLSlideShow对象
通过接收InputStream来创建XMLSlideShow对象
(2)接收XSLFSlideShow对象
通过接收文件路径即可创建XSLFSlideShow对象
转载文章地址:http://blog.csdn.net/HarryHuang1990/article/category/1104274
0 2
- Apache poi操作doc,docx,xsl,xslx文件
- android 读取doc docx xsl xslx
- poi读取doc、ppt、pptx、xsl、xslx文件的内容,pdfbox读取pdf内容,读取txt文件内容
- java poi 导入导出Excel xsl xslx
- poi操作doc、docx、xls、xlsx文档总结
- JAVA使用POI操作word文档实例,兼容doc,docx
- java使用poi读取doc和docx文件
- java POI创建Excel示例(xslx和xsl区别 )
- Apache POI 简单操作word文档(2007 .docx格式)
- java读取word格式.doc或者.docx中的内容(APACHE POI)
- POI实现DOC/DOCX转HTML
- POI读取.doc 和.docx的区别
- poi读取excel文件(.xsl或.xslx)实例,对日期和数字读取的处理,以及远程url和本地地址的区别
- POI操作word2007(docx)文件的文本和图片
- Apache POI 操作Excel文件
- POI创建DOCX常用操作
- POI读写Word docx文件
- POI读写Word docx文件
- sql入门学习2
- 堆栈的区别及增长方向
- 最大连续子序列和
- C# string 对象 0008
- 枚举
- Apache poi操作doc,docx,xsl,xslx文件
- 数据库权限
- Websphere下删除某个文件(ibm-partialapp-delete.props)
- js模拟用户多次点击下载文件
- 15电气李丹【几位数乘一位数】【并保存到D盘】
- CreateThread()函数的简单程序
- 重建二叉树
- nodejs中exports与module.exports的区别
- Android源码解析之(十三)-->apk安装流程