`
xiongzhenhui
  • 浏览: 209647 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

poi获取excel和word总页数

    博客分类:
  • poi
阅读更多

Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有很多改进,加入了对采用OOXML格式的Office 2007支持,如xlsx、docx、pptx文档。
POI主页:http://poi.apache.org/

二:POI3.5相关下载
                3.5Jar包下载地址
                3.5源码下载地址

三:POI组成部分概览
以下是POI的几个重要组成部分,以及各组件的功能概述。

POIFS
POIFS是该项目的最古老,最稳定的一部分。.这是格式化OLE 2复合文档为纯Java的接口。 它同时支持读写功能。所有的组件,最终都依赖于它的定义
HSSF 和 XSSF
HSSF: MS-Excel 97-2003(.xls),基于BIFF8格式的JAVA接口。
XSSF:MS-Excel 2007+(.xlsx),基于OOXML格式的JAVA接口。
HWPF 和XWPF
HWPF: MS-Word 97-2003(.doc),基于BIFF8格式的JAVA接口。只支持.doc文件简单的操作,读写能力有限。本API为POI项目早期开发,很不幸的 是主要负责HWPF模块开发的工程师-“Ryan Ackley”已经离开Apache组织,现在该模块没有人维护、更新、完善。
XWPF:MS-Word 2007+(.docx),基于OOXML格式的JAVA接口。较HWPF功能完善。

四:利用POI提取Word文本内容及批注
97-2003:

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();//提取批注内容
}
五:利用POI提取Word总页数、总字符数...
97-2003
WordExtractor doc = new WordExtractor(new FileInputStream(filePath));//.doc格式Word文件提取器
int pages = doc.getSummaryInformation().getPageCount();//总页数

(该方法是获取摘要信息中总页数,由于2003word摘要信息中的总页数是错误的,所以该方法获取的总页数始终为1是错误的)
int wordCount = doc.getSummaryInformation().getWordCount();//总字符数

   HWPFDocument doc= new HWPFDocument(new FileInputStream("c:\\d.doc"));
  int pages = doc.getSummaryInformation().getPageCount();//总页数

 (该方法是获取摘要信息中总页数,由于2003word摘要信息中的总页数是错误的,所以该方法获取的总页数始终为1是错误 的)
  int wordCount = doc.getSummaryInformation().getWordCount();//总字符数
2007:

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

int pages = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();//总页数
int characters = docx.getProperties().getExtendedProperties().getUnderlyingProperties().getCharacters();// 忽略空格的总字符数 另外还有getCharactersWithSpaces()方法获取带空格的总字数。


小技巧:
2007采用了全新的OFFICE OPEN XML格式来存储,跟以前二进制文件格式的office 97-2003(.doc、.xls...)不同,所以可以直接重命名xx.docx的文件为xx.zip,用WinRar打开可以看到 office2007的存储文件,其中word/document.xml里面保存了最重要的正文内容,word/comments.xml保存的是批注内容,可以多研究一下这些文件,有助于开发~

Office Open XML 文件格式简介  www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx
随着20世纪90年代XML的出现,企业计算客户开始逐渐认识到,在他们所依赖的计算机产品和应用中采用开放的格式和标准所带来的商业价值。IT 专业人员将从通用的数据格式中受益匪浅,这种格式可能是XML,因为它拥有被应用程序、平台和Internet浏览器读取的能力。

同样,随着在Microsoft Office 2000中对于XML格式的支持与采用,开发人员开始认识到,他们需要将以前的Microsoft Office版本中的二进制文件格式转换为XML格式。二进制文件(.doc,.dot,.xls,以及.ppt文件)在过去几年中一直肩负着存储和转换数据的重任,而现在它们无法满足新的市场需求的挑战,其中包括轻松地在异构应用之间传递数据,以及允许用户从这些数据中搜集商业信息。

2007 Microsoft Office system为Microsoft Office Excel 2007,Microsoft Office Word 2007,和Microsoft Office PowerPoint 2007采用了基于XML的文件格式,从而延续了这种转移。新的文件格式,称为Office Open XML格式,解决了上述市场需求的问题,同时改变了您基于Microsoft Office文档建立解决方案的方式

分享到:
评论
1 楼 mayucai 2017-09-15  
这个博客写的我是真服,写了一大堆,结果最后来一句这是错的。

相关推荐

    利用POI读取excel写入到word

    在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...

    java读写Excel,POI.JAR,Word内容读取

    java读写Excel,POI.JAR,Word内容读取

    POI读取 word 2003 和 word 2007 的例子

    这是一个POI读取word 2003 和 word 2007的例子 是一个Eclipse工程 下载后直接导入工程 运行 src 目录下的 Test java 类即可 这个 rar 包中包含着 POI 读取word 2003 和 word 2007 所需要的 jar 包 也有需要读取的 ...

    POI处理EXCEL和WORD文件的JAR包和资料详细

    2. **读取Excel文件**:使用`WorkbookFactory.create()`方法可以从磁盘或流中打开Excel文件,然后通过`Sheet`对象访问工作表,再通过`Row`和`Cell`对象处理单元格数据。例如,`HSSFSheet sheet = workbook....

    Java通过POI读取Excel遍历数据,批量生成word文档

    本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...

    POI读取excel的内容.zip

    本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.apache.poi ...

    poi解析excel、word2007,2010等版本

    - **读取Excel数据**: 使用POI,你可以打开Excel文件,遍历工作簿中的每个工作表,进一步读取行和单元格的数据。可以获取文本、数字、日期等各类数据类型,并且可以处理样式、公式和超链接等复杂元素。 - **写入...

    安卓使用poi读取及修改word文档

    Apache POI是一个广泛使用的开源库,它允许开发者用纯Java代码操作微软的Office格式,包括Word(.doc)、Excel(.xls)和PowerPoint(.ppt)等。在"安卓使用POI读取及修改Word文档"这个主题中,我们将深入探讨如何在...

    poi对excel和word的读取

    Apache POI是一个开源项目,主要用于处理Microsoft Office格式的文件,如Excel和Word。在这个主题中,我们将深入探讨如何使用Apache POI库来读取不同版本的Excel(包括2003的.xls和2007及以后的.xlsx)以及Word(....

    POI实现word和excel在线预览

    本项目提供的"POI实现word和excel在线预览"是基于Apache POI的一个实用工具集,它能够帮助开发者实现在Web环境下对这些文件的在线预览功能,无需用户下载文件到本地即可查看内容,提高了用户体验和数据安全性。...

    POI导出Excel和Word

    标题 "POI导出Excel和Word" 涉及到的是使用Apache POI库来创建和操作Microsoft Office格式的文件,特别是Excel和Word文档。Apache POI是一个流行的开源Java库,它允许程序员读写Microsoft Office格式的文件,包括XLS...

    android5使用poi读取excel

    android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel

    poi读取excel文件

    标题提到的"poi读取excel文件",指的是使用Apache POI库来处理Excel数据。在最新的版本中,POI引入了更高效和强大的功能,使得处理Excel文件变得更加方便。 描述中提到了"最新版poi相关的6个jar包",这些jar包是...

    JAVA-POI读取word每一段所在页码(附依赖jar包).zip

    我给出了代码和所有的解释,用POI读取word中的页码。也算是小方法了,基本很准确,为什么要加一个基本呢?因为,分页标志符号在第一行为空白行的时候没有分页符!!所以你的文档如果有很多首段空白行的话,不要浪费C...

    poi读取excel并输出到jsp页面

    总的来说,Apache POI提供了强大的API来读取Excel数据,而JSP则负责在Web页面上展示这些数据。通过这两者的结合,开发者可以构建出能够动态显示Excel数据的Web应用。这些技术对于处理数据导入、报表生成、数据分析等...

    android中poi生成word文档和excel文档

    总的来说,使用Apache POI在Android中生成Word和Excel文档涉及了多个步骤,包括数据读取、文件操作、文档结构构建以及格式化。这个过程需要对XML、Java I/O、Android文件系统权限管理和POI API有深入理解。开发者...

    POI生成Excel POI操作Excel POI读取Excel POI类库

    **POI读取Excel** 读取Excel主要涉及以下步骤: 1. **打开Workbook**:通过 FileInputStream 读取Excel文件,然后创建Workbook对象。 2. **获取Sheet**:从Workbook中获取需要的Sheet。 3. **遍历Row和Cell**:...

    POI读取excel的例子

    POI读取excel的例子

    [简单]poi读取word 2007简单文本框值

    Apache POI是一个流行的开源Java库,用于处理Microsoft Office格式的文件,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。在Word 2007中,用户可以插入文本框来组织或装饰文本,而POI库提供了方法来访问和...

    JAVA读取WORD_EXCEL_POWERPOINT_PDF文件的方法(poi)

    JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法(poi) JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法是使用 Apache POI 库来实现的。POI 库是一个开放源代码的 Java 库,提供了对 Microsoft Office 文件格式...

Global site tag (gtag.js) - Google Analytics