poi解析2007word模板word2007相关的一点小问题求助

poi解析word遇到的有关问题
去掉一空行
&来源:读书人网&【读书人网():综合教育门户网站】
poi解析word遇到的问题去掉一空行一个解析word文档得到的string,现在要把空格,tab 空行去掉 用代替遇到
poi解析word遇到的问题
去掉一空行
一个解析word文档得到的string,现在要把空格,tab 空行去掉 用""代替遇到的问题temp = string[i].trim().replaceAll("/r", ""); 正常情况可以但是遇到空行结果总得到"[ ,全角句号]" ,(结果就是这样子,这个符号拷贝到别的地方是一tab) 这个string的长度为2.研究了一下午,也不知道怎么办,突然想到一个法子:把他转换成byte数组,再new出来,结果成了乱码,加了个下面的for循环,再new出来,得到[ ],再把[ ]替换为""达到目的。于是出现了下面的代码。对于这个循环其实根本没有执行循环体,但是有与没有结果则不痛,实在是不明白,求高人解答!!!java工程是utf8编码。public class ClearFormat {public static String[] clearformat(String[] string) {String[] results = new String[string.length];String temp =for (int i = 19; i & string. i++) {temp = string[i].trim().replaceAll("/r", "");byte[] bytes = temp.getBytes();for (int j = 0; j & bytes. j++) {if (bytes[j] == -127) {bytes[j] = 32;}}temp = new String(bytes);results[i] = temp.trim().replaceAll("[ ]", "");}// System.out.println(results[19]);}}poi解析word03,word07,excel03,excel07
1 去网上下载这几个包.
&commons-logging-1.1.jar
&dom4j-1.6.1.jar
&jsr173_1.0_api.jar
&junit-3.8.1.jar
&log4j-1.2.13.jar
&ooxml-schemas-1.0.jar
&openxml4j-1.0-beta.jar
&poi-3.5-beta4-.jar
&poi-contrib-3.5-beta4-.jar
&poi-ooxml-3.5-beta4-.jar
&poi-scratchpad-3.5-beta4-.jar
&tm-extractors-0.4.jar
2 代码如下:
&Excel2007:
&private static String parseXlsx2007(String
&&&&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);
(xSheet == null) {
(int rowNum = 0; rowNum &= xSheet.getLastRowNum();
rowNum++) {
&&&&&XSSFRow
xRow = xSheet.getRow(rowNum);
(xRow == null) {
循环列Cell
(int cellNum = 0; cellNum &= xRow.getLastCellNum();
cellNum++) {
&&&&&&XSSFCell
xCell = xRow.getCell(cellNum);
(xCell == null) {
(xCell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {
&&&&&&&content.append(xCell.getBooleanCellValue());
else if (xCell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {
&&&&&&&content.append(xCell.getNumericCellValue());
&&&&&&&content.append(xCell.getStringCellValue());
content.toString();
Excel2003:
&& HSSFWorkbook workbook = new
HSSFWorkbook(new FileInputStream(new File("f:/1.xls")));
&&&ExcelExtractor
extractor = new ExcelExtractor(workbook);
&&&extractor.setFormulasNotResults(true);
&&&extractor.setIncludeSheetNames(false);
bodyText = extractor.getText();
&&&System.out.println(bodyText);
&&&Package
opcPackage = POIXMLDocument.openPackage("f:/1.docx");
&&&POIXMLTextExtractor
XWPFWordExtractor(opcPackage);&&
&&&System.out.println(ex.getText());
& WordExtractor wordExtractor = new
WordExtractor(new FileInputStream(new File("f:/1.doc")));
&&String bodyText =
wordExtractor.getText();
&&System.out.println(bodyText);
导入的包有这些:
import java.io.F
import java.io.FileInputS
import java.io.IOE
import org.apache.poi.POIXMLD
import org.apache.poi.POIXMLTextE
import org.apache.poi.hssf.extractor.ExcelE
import org.apache.poi.hssf.usermodel.HSSFW
import org.apache.poi.hwpf.extractor.WordE
import org.apache.poi.xssf.usermodel.XSSFC
import org.apache.poi.xssf.usermodel.XSSFR
import org.apache.poi.xssf.usermodel.XSSFS
import org.apache.poi.xssf.usermodel.XSSFW
import org.apache.poi.xwpf.extractor.XWPFWordE
import org.openxml4j.opc.P
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。君,已阅读到文档的结尾了呢~~
精品:word2007文本框 word2007官方下载 word2007 word2007教程 word2007密钥 word2007下载 word2007兼容包 word2007目录 word2007免费版下载 microsoft word2007
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
POI解析word2007文本及图片(已测试)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口POI解析word2007相关的一点小问题求助_百度知道下次自动登录
现在的位置:
& 综合 & 正文
使用POI解析Word2007和Excel2007的实例代码
这周额外分配的任务是对office2007的文档进行解析,以前采用的是poi3.0版本,其只能对office2003版本的文档进行解析,还无法解析office2007.网上查了一下有人提供了最原始的解决方法,但是发现其实poi在3.5版本已经解决了这个问题。
下面是网上搜的一篇:
其实不需要完全匹配下面该文章提供的jar包,本人就是下载了poi-bin-3.6-包,然后把poi-bin-3.6-/poi-3.6和poi-bin-3.6-/poi-3.6/ooxml-lib目录下的jar包导入到项目就ok了。
package com.
import java.io.FileInputS
import java.io.IOE
import java.io.InputS
import org.apache.poi.POIXMLD
import org.apache.poi.POIXMLTextE
import org.apache.poi.hssf.usermodel.HSSFC
import org.apache.poi.hssf.usermodel.HSSFR
import org.apache.poi.hssf.usermodel.HSSFS
import org.apache.poi.hssf.usermodel.HSSFW
import org.apache.poi.hwpf.extractor.WordE
import org.apache.poi.openxml4j.exceptions.OpenXML4JE
import org.apache.poi.openxml4j.opc.OPCP
import org.apache.poi.xssf.usermodel.XSSFC
import org.apache.poi.xssf.usermodel.XSSFR
import org.apache.poi.xssf.usermodel.XSSFS
import org.apache.poi.xssf.usermodel.XSSFW
import org.apache.poi.xwpf.extractor.XWPFWordE
import org.apache.xmlbeans.XmlE
public class WordAndExcelExtractor {
public static void main(String[] args){
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();
public static String extractTextFromDOC(InputStream is) throws IOException {
WordExtractor ex = new WordExtractor(is);
return ex.getText();
public static String extractTextFromDOC2007(String fileName) throws IOException, OpenXML4JException, XmlException {
OPCPackage opcPackage = POIXMLDocument.openPackage(fileName);
POIXMLTextExtractor ex = new XWPFWordExtractor(opcPackage);
return ex.getText();
@SuppressWarnings("deprecation")
private static String extractTextFromXLS(InputStream is)
throws IOException {
StringBuffer content
= new StringBuffer();
HSSFWorkbook workbook = new HSSFWorkbook(is);
for (int numSheets = 0; numSheets & workbook.getNumberOfSheets(); numSheets++) {
if (null != workbook.getSheetAt(numSheets)) {
HSSFSheet aSheet = workbook.getSheetAt(numSheets);
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());
content.append(aCell.getStringCellValue());
return content.toString();
private static String extractTextFromXLS2007(String fileName) throws Exception{
StringBuffer content = new StringBuffer();
XSSFWorkbook xwb = new XSSFWorkbook(fileName);
for(int numSheet = 0; numSheet & xwb.getNumberOfSheets(); numSheet++){
XSSFSheet xSheet = xwb.getSheetAt(numSheet);
if(xSheet == null){
for(int rowNum = 0; rowNum &= xSheet.getLastRowNum(); rowNum++){
XSSFRow xRow = xSheet.getRow(rowNum);
if(xRow == null){
for(int cellNum = 0; cellNum &= xRow.getLastCellNum(); cellNum++){
XSSFCell xCell = xRow.getCell(cellNum);
if(xCell == null){
if(xCell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN){
content.append(xCell.getBooleanCellValue());
}else if(xCell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC){
content.append(xCell.getNumericCellValue());
content.append(xCell.getStringCellValue());
return content.toString();
&&&&推荐文章:
【上篇】【下篇】}

我要回帖

更多关于 poi sax解析excel2007 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信