使用Apache POI和Java获得Excel文件内容,无须MS-Office ActiveX OLE

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

*

* Created on 2005/07/18

* 使用poi-2.5.1-final-20050804.jar

*/

package com.nova.colimas.common.doc;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFCell;

import java.io.FileInputStream;

import java.io.FileOutputStream;

/**

* Deal with Excel Files.

* @author tyrone

*

*/

public class ExcelProcess {

public static String run(String filename){

String text=null;

try{

int sheetnum=0;

HSSFSheet sheet = null;

HSSFRow row=null;

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename));

for (sheetnum=0;sheetnum<workbook.getNumberOfSheets();sheetnum++){

sheet = workbook.getSheetAt(sheetnum);

int lastrow=0;

int rownum=0;

lastrow=sheet.getLastRowNum();

for (rownum=0;rownum<lastrow;rownum++){

row = sheet.getRow(rownum);

if (row!=null){

short firstcell=row.getFirstCellNum();

short lastcell=row.getLastCellNum();

short cellnum;

HSSFCell cell=null;

for(cellnum=firstcell;cellnum<lastcell;cellnum++){

cell=row.getCell(cellnum);

if(cell!=null && cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC)

text=text +cell.getNumericCellValue();

else if(cell!=null && cell.getCellType()==HSSFCell.CELL_TYPE_STRING){

text=text +cell.getStringCellValue();

}

}

text=text+"\n";

}

}

} }catch(Exception e) {

System.out.println(e );

}

return text;

}

/*输入参数为filename.xls

public static void main(String[] args){

try{

FileOutputStream out=new FileOutputStream("resultExcel.txt");

out.write(ExcelProcess.run(args[0]).getBytes());

out.flush();

out.close();

}catch(Exception ex){

System.out.println(ex.toString());

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有