POI中文帮助文档Word文件下载.docx

上传人:b****1 文档编号:13981901 上传时间:2022-10-16 格式:DOCX 页数:20 大小:102.50KB
下载 相关 举报
POI中文帮助文档Word文件下载.docx_第1页
第1页 / 共20页
POI中文帮助文档Word文件下载.docx_第2页
第2页 / 共20页
POI中文帮助文档Word文件下载.docx_第3页
第3页 / 共20页
POI中文帮助文档Word文件下载.docx_第4页
第4页 / 共20页
POI中文帮助文档Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

POI中文帮助文档Word文件下载.docx

《POI中文帮助文档Word文件下载.docx》由会员分享,可在线阅读,更多相关《POI中文帮助文档Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

POI中文帮助文档Word文件下载.docx

说明

POIFS(POIFileSystem)

POIFS是POI项目中最早的最基础的一个模块,是Java到OLE2CompoundDocumentFormat的接口,支持读写功能,所有的其他项目都依赖与该项目。

HSSF(HorribleSpreadsheetFormat)

HSSF是Java到MicrosoftExcel97(-2002)文件的接口,支持读写功能

HWPF(HorribleWordProcessingFormat)

HWPF是Java到MicrosoftWord97文件的接口,支持读写功能,但目前该模块还处于刚开始开发阶段,只能实现一些简单文件的操作,在后续版本中,会提供更强大的支持

HPSF(HorriblePropertySetFormat)

HPSF是Java到OLE2CompoundDocumentFormat文件的属性设置的接口,属性设置通常用来设置文档的属性(标题,作者,最后修改日期等),还可以设置用户定义的属性。

HPSF支持读写功能,当前发布版本中直支持读功能。

7.3.1 

对Excel的处理类

下面通过HSSF提供的接口对Excel文件经行处理。

首先需要下载POI的包,可以到apache的官方网站下载,地址为:

http:

//apache.justdn.org/jakarta/poi/,本书采用的是poi-2.5.1-final-20040804.jar,读者可以下载当前的稳定版本。

把下载的包按照前面介绍的方式加入BuildPath,然后新建一个ch7.poi包,并创建一个ExcelReader类。

ExcelReader类可以读取一个XLS文件,然后将其内容逐行提取出来,写入文本文件。

其代码如下。

代码7.6

publicclassExcelReader{

 

//创建文件输入流

privateBufferedReaderreader=null;

//文件类型

privateStringfiletype;

//文件二进制输入流

privateInputStreamis=null;

//当前的Sheet

privateintcurrSheet;

//当前位置

privateintcurrPosition;

//Sheet数量

privateintnumOfSheets;

//HSSFWorkbook

HSSFWorkbookworkbook=null;

//设置Cell之间以空格分割

privatestaticStringEXCEL_LINE_DELIMITER="

"

;

//设置最大列数

privatestaticintMAX_EXCEL_COLUMNS=64;

//构造函数创建一个ExcelReader

publicExcelReader(Stringinputfile)throwsIOException,Exception{

//判断参数是否为空或没有意义

if(inputfile==null||inputfile.trim().equals("

"

)){

thrownewIOException("

noinputfilespecified"

);

}

//取得文件名的后缀名赋值给filetype

this.filetype=inputfile.substring(inputfile.lastIndexOf("

."

)+1);

//设置开始行为0

currPosition=0;

//设置当前位置为0

currSheet=0;

is=newFileInputStream(inputfile);

//判断文件格式

if(filetype.equalsIgnoreCase("

txt"

//如果是txt则直接创建BufferedReader读取

reader=newBufferedReader(newInputStreamReader(is));

elseif(filetype.equalsIgnoreCase("

xls"

//如果是Excel文件则创建HSSFWorkbook读取

workbook=newHSSFWorkbook(is);

//设置Sheet数

numOfSheets=workbook.getNumberOfSheets();

else{

thrownewException("

FileTypeNotSupported"

 

}

//函数readLine读取文件的一行

publicStringreadLine()throwsIOException{

//如果是txt文件则通过reader读取

Stringstr=reader.readLine();

//空行则略去,直接读取下一行

while(str.trim().equals("

str=reader.readLine();

returnstr;

//如果是XLS文件则通过POI提供的API读取文件

elseif(filetype.equalsIgnoreCase("

//根据currSheet值获得当前的sheet

HSSFSheetsheet=workbook.getSheetAt(currSheet);

//判断当前行是否到但前Sheet的结尾

if(currPosition>

sheet.getLastRowNum()){

//当前行位置清零

//判断是否还有Sheet

while(currSheet!

=numOfSheets-1){

//得到下一张Sheet

sheet=workbook.getSheetAt(currSheet+1);

//当前行数是否已经到达文件末尾

if(currPosition==sheet.getLastRowNum()){

//当前Sheet指向下一张Sheet

currSheet++;

continue;

}else{

//获取当前行数

introw=currPosition;

currPosition++;

//读取当前行数据

returngetLine(sheet,row);

returnnull;

//函数getLine返回Sheet的一行数据

privateStringgetLine(HSSFSheetsheet,introw){

//根据行数取得Sheet的一行

HSSFRowrowline=sheet.getRow(row);

//创建字符创缓冲区

StringBufferbuffer=newStringBuffer();

//获取当前行的列数

intfilledColumns=rowline.getLastCellNum();

HSSFCellcell=null;

//循环遍历所有列

for(inti=0;

i<

filledColumns;

i++){

//取得当前Cell

cell=rowline.getCell((short)i);

Stringcellvalue=null;

if(cell!

=null){

//判断当前Cell的Type

switch(cell.getCellType()){

//如果当前Cell的Type为NUMERIC

caseHSSFCell.CELL_TYPE_NUMERIC:

{

//判断当前的cell是否为Date

if(HSSFDateUtil.isCellDateFormatted(cell)){

//如果是Date类型则,取得该Cell的Date值

Datedate=cel

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1