- 浏览: 1010096 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
天在写全文检索功能时,POI读取Word2007和Excel2007文档时遇到问题,于是扩展了一下原来的功能,以下是使用POI读取Word2007和Excel2007的例子:
package com.test; /** * 需要的jar包: * poi-3.0.2-FINAL-20080204.jar * poi-contrib-3.0.2-FINAL-20080204.jar * poi-scratchpad-3.0.2-FINAL-20080204.jar * poi-3.5-beta6-20090622.jar * geronimo-stax-api_1.0_spec-1.0.jar * ooxml-schemas-1.0.jar * openxml4j-bin-beta.jar * poi-ooxml-3.5-beta6-20090622.jar * xmlbeans-2.3.0.jar * dom4j-1.6.1.jar */ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import org.apache.poi.POIXMLDocument; import org.apache.poi.POIXMLTextExtractor; 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.hwpf.extractor.WordExtractor; import org.apache.poi.openxml4j.exceptions.OpenXML4JException; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.xmlbeans.XmlException; public class WordAndExcelExtractor { public static void main(String[] args){ try{ String wordFile = "D:/松山血战.docx"; String wordText2007 = WordAndExcelExtractor.extractTextFromDOC2007(wordFile); System.out.println("wordText2007======="+wordText2007); InputStream is = new FileInputStream("D:/XXX研发中心技术岗位职位需求.xls"); String excelText = WordAndExcelExtractor.extractTextFromXLS(is); System.out.println("text2003==========" + excelText); String excelFile = "D:/Hello2007.xlsx"; String excelText2007 = WordAndExcelExtractor.extractTextFromXLS2007(excelFile); System.out.println("excelText2007==========" + excelText2007); }catch(Exception e ){ e.printStackTrace(); } } /** * @Method: extractTextFromDOCX * @Description: 从word 2003文档中提取纯文本 * * @param * @return String * @throws */ public static String extractTextFromDOC(InputStream is) throws IOException { WordExtractor ex = new WordExtractor(is); //is是WORD文件的InputStream return ex.getText(); } /** * @Method: extractTextFromDOCX * @Description: 从word 2007文档中提取纯文本 * * @param * @return String * @throws */ public static String extractTextFromDOC2007(String fileName) throws IOException, OpenXML4JException, XmlException { OPCPackage opcPackage = POIXMLDocument.openPackage(fileName); POIXMLTextExtractor ex = new XWPFWordExtractor(opcPackage); return ex.getText(); } /** * @Method: extractTextFromXLS * @Description: 从excel 2003文档中提取纯文本 * * @param * @return String * @throws */ @SuppressWarnings("deprecation") private static String extractTextFromXLS(InputStream is) throws IOException { StringBuffer content = new StringBuffer(); HSSFWorkbook workbook = new HSSFWorkbook(is); //创建对Excel工作簿文件的引用 for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) { if (null != workbook.getSheetAt(numSheets)) { HSSFSheet aSheet = workbook.getSheetAt(numSheets); //获得一个sheet for (int rowNumOfSheet = 0; rowNumOfSheet <= aSheet.getLastRowNum(); rowNumOfSheet++) { if (null != aSheet.getRow(rowNumOfSheet)) { HSSFRow aRow = aSheet.getRow(rowNumOfSheet); //获得一行 for (short cellNumOfRow = 0; cellNumOfRow <= aRow.getLastCellNum(); cellNumOfRow++) { if (null != aRow.getCell(cellNumOfRow)) { HSSFCell aCell = aRow.getCell(cellNumOfRow); //获得列值 if(aCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){ content.append(aCell.getNumericCellValue()); }else if(aCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN){ content.append(aCell.getBooleanCellValue()); }else { content.append(aCell.getStringCellValue()); } } } } } } } return content.toString(); } /** * @Method: extractTextFromXLS2007 * @Description: 从excel 2007文档中提取纯文本 * * @param * @return String * @throws */ private static String extractTextFromXLS2007(String fileName) throws Exception{ StringBuffer content = new StringBuffer(); //构造 XSSFWorkbook 对象,strPath 传入文件路径 XSSFWorkbook xwb = new XSSFWorkbook(fileName); //循环工作表Sheet for(int numSheet = 0; numSheet < xwb.getNumberOfSheets(); numSheet++){ XSSFSheet xSheet = xwb.getSheetAt(numSheet); if(xSheet == null){ continue; } //循环行Row for(int rowNum = 0; rowNum <= xSheet.getLastRowNum(); rowNum++){ XSSFRow xRow = xSheet.getRow(rowNum); if(xRow == null){ continue; } //循环列Cell for(int cellNum = 0; cellNum <= xRow.getLastCellNum(); cellNum++){ XSSFCell xCell = xRow.getCell(cellNum); if(xCell == null){ continue; } if(xCell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN){ content.append(xCell.getBooleanCellValue()); }else if(xCell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC){ content.append(xCell.getNumericCellValue()); }else{ content.append(xCell.getStringCellValue()); } } } } return content.toString(); } }
这就是读取MS Office高版本的文档的方式。
发表评论
-
提取html内容放入xml文件时空格问题
2011-05-24 17:09 2658由于项目的需要,将网站上的信息抓取下来,提取出想要的信息,然后 ... -
简述URI和URL区别(转)
2011-04-20 16:23 1417URL:(Uniform Resoure Locato ... -
jsp页面乱码解决方案及编码设置问题(转)
2011-03-27 15:46 1839经常遇到关于JSP页面乱码的问题,在网上也查了相关的帖子,故在 ... -
使用JSTL标签异常
2011-01-02 09:48 1849我使用JSTL标签,如下所示: <c:when ... -
HSQL入门及使用指南 (转)
2010-12-27 22:29 2189HSQL可以到官方网站 ... -
SSH session连接关闭问题的解决(转)
2010-12-15 22:12 21522008-07-20 22:25:27,531 INF ... -
svn和myeclipse使用搜狗浏览器代理
2010-12-11 16:42 18141 在svn里的setting功能选项中选择Network,勾 ... -
Kissy Suggest 自动提示例子
2010-12-10 14:45 3822由淘宝团队开发出来的Kissy Suggest 自动提示组件是 ... -
计算机开机启动过程详解(转)
2010-12-10 13:22 13881、http://product.zdnet.com. ... -
更强的自动补全提示:提示补全组件:Kissy Suggest(转)
2010-12-09 16:25 1057去年针对谷歌的搜索提示,发过一篇文章:从谷歌的一个Bug说 ... -
磁盘分区与文件系统(转)
2010-12-09 09:38 2045一个磁盘是分成一个个扇区来存放信息,整个磁盘的第一个扇区是作 ... -
QQ通信原理(转)
2010-12-02 21:52 6659QQ通信原理我研究的是QQ ... -
邮件激活
2010-11-17 09:34 1455今天看了一下公司做的网站,看到有关邮件激活的程序,就做下笔记。 ... -
HttpSessionBindingListener获取在线用户数(转)
2010-11-01 14:59 2368下面为我的测试 ... -
cookie的简单使用
2010-10-29 11:13 1574一、cookie的作用 在 ... -
Cookie工作原理(转)
2010-10-29 09:30 1822Cookies基础 Cookies是 ... -
swfobject的使用
2010-10-26 09:54 32221 swfobject可以将swf文件嵌入到网页内,它是一个j ... -
java获取当前工程名(转)
2010-10-24 09:14 1626String projectname = System.get ... -
利用Java编写简单的WebService实例(转)
2010-10-22 15:30 2739/* * File name: TestHell ... -
利用Java编写简单的WebService实例
2010-10-22 14:55 87118使用Axis编写WebService比较简单,就我 ...
相关推荐
在这个例子中,我们将深入探讨如何使用Apache POI读取Word 2003和Word 2007的文档,并将内容以字符串形式输出。 首先,我们需要了解Apache POI中的两个主要组件,它们是HWPF(Horrible Word Processor Format)用于...
通过学习和理解这个例子,你可以更好地掌握使用Apache POI读取Word文件的技巧。 总之,Apache POI为Java开发者提供了一种方便的方式,使他们能够轻松地与Microsoft Word文档进行交互,读取其中的文字、表格和图像等...
首先,让我们了解如何通过Java POI读取Word文档。在Java中,我们需要导入`org.apache.poi.xwpf.usermodel`包,因为这个包包含了处理`.docx`文件所需的类。`.docx`是Word 2007及更高版本使用的XML格式。以下是一个...
这个例子将重点讲解如何使用Apache POI读取Excel(.xlsx)文件。首先,我们需要理解Excel文件的基本结构以及POI库提供的API。 Excel的.xlsx文件是由一系列的工作表(worksheet)组成,每个工作表包含多个单元格...
接下来,我们将探讨如何使用POI读取Word文件。对于.docx格式的文件,我们可以使用XWPFDocument类;而对于.doc格式的文件,需要使用HWPFDocument类。以下是一个简单的例子,展示如何读取.docx文件: ```java import ...
本示例将详细讲解如何使用Apache POI库来读取Excel的2003 (.xls) 和2007 (.xlsx)格式的文档,并提供所需的jar包。 首先,确保你的项目中已经包含了Apache POI的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc、.docx)、Excel(.xls、.xlsx)和PowerPoint(.ppt、.pptx)。在Java环境中,Apache POI 提供了API,使得开发者能够读取、创建...
用它可以使用 Java 读取和创建, 修改 MS Excel 文件. 而且, 还可以使用 Java 读取和创建 MS Word 和 MSPowerPoint 文件。Apache POI 提供 Java 操作 Excel 解决方案(适用于 Excel97-2008)。 2 Apache POI的组件 ...
Apache POI 是一个开源项目,它的主要功能是读取和写入Microsoft Office格式的文件,如.XLS(Excel 97-2003)和.XLSX(Excel 2007及以上版本),以及.WRD(Word 97-2003)和.DOCX(Word 2007及以上版本)。通过POI,...
// 使用POI读取Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(is); XSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 for (Row row : sheet) { // 遍历行,处理每个单元格 for (Cell ...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。在这个例子中,我们将探讨如何使用POI库来处理Word文档,特别是利用模板文件循环输出表格行并导出新的Word文档...
Apache POI是一个流行的Java库,专门用于处理Microsoft Office格式的文件,如Excel和Word文档。在标题中提到的"poi-3.0.jar"是这个库的一个版本,它提供了API来读取、写入和修改这些文件。在这个场景中,我们主要...
总结来说,通过使用NPOI和Aspose.Words这样的库,开发者能够在C#环境中无需安装Word和Excel的情况下读取和生成Word Excel等文档,极大地提升了工作效率并降低了对用户系统的要求。同时,这些库还支持创建图表和其他...
POI支持HSSF(用于处理Excel)和XSSF(用于处理Excel 2007及以上版本)以及HWPF(用于处理Word)和XWPF(用于处理Word 2007及以上版本)。 2. **准备环境** 在开始之前,确保已经添加了Apache POI的依赖到你的项目...
在Java编程领域,Apache POI库是一个非常实用的工具,它允许开发者读写Microsoft Office格式的文件,如Word、Excel和PowerPoint。本项目“Java利用poi对word插入文字图片”是一个具体的示例,旨在教给你如何使用...
Apache POI是一个流行的Java库,专门用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。本手册将深入探讨如何使用Apache POI库来操作Word文档,特别关注在Java环境中进行读取、写入和修改Word内容的...
Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。在这个例子中,我们将聚焦于使用POI库在Java中导出包含图片的Word文档。这个过程涉及到几个...
在这个“poi帮助文档附带poi操作excel例子”中,我们可以深入学习如何使用POI进行Excel文件的操作。 首先,POI.chm文件是帮助文档,它包含了关于Apache POI的详细API参考和教程。这个文件将引导用户了解如何创建、...
以下是使用POI读取Word文档的一个例子: ```java private static String readDoc(String filePath, InputStream is) { String text = ""; try { if (filePath.endsWith("doc")) { WordExtractor ex = new ...
Apache POI是一个流行的Java库,专门用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。在"poi解析导入word (简单Demo使用)"这个主题中,我们将深入探讨如何使用Apache POI库来读取、修改和创建Word...