poi读取Excel文件并进行数据类型转换实例

需要jar包:

poi-3.7.jar、poi-examples-3.7.jar、poi-ooxml-3.7.jar、poi-ooxml-schemas-3.7.jar、poi-scratchpad-3.7.jar

action代码:

public String poiImportBusinessExcel(){   

    List<CaAvApply> caAvApplies = new ArrayList<CaAvApply>();

    InputStream input  = FileUtils.openInputStream(importFileExcel);

    POIFSFileSystem fs = new POIFSFileSystem(input);

    HSSFWorkbook wb = new HSSFWorkbook(fs);  

    HSSFSheet sheet = wb.getSheetAt(0);  

    Iterator rows = sheet.rowIterator();

    while(rows.hasNext()){

        HSSFRow row = (HSSFRow) rows.next();

        for(int i=0; i<caAvApplies.size(); i++){

            HSSFCell cell_1 = row.getCell(1);

            if(null != cell_1){

                aAvApplies.get(i).setName(changeCellToString(cell_1));

      (......其他行照此......)

}

        }

    }

}

(try catch略去了)

 

这里HSSFCell 有几种数据类型,如果想进行类型转换,再加一个方法进行转换,这里给的例子是都转换成String类型的数据

public String changeCellToString(HSSFCell cell){

String returnValue = "";

if(null != cell){

switch(cell.getCellType()){

case HSSFCell.CELL_TYPE_NUMERIC:   //数字

Double doubleValue = cell.getNumericCellValue();

String str = doubleValue.toString();

if(str.contains(".0")){

str = str.replace(".0", "");

}

Integer intValue = Integer.parseInt(str);

returnValue = intValue.toString();

break;

case HSSFCell.CELL_TYPE_STRING:    //字符串

returnValue = cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_BOOLEAN:   //布尔

Boolean booleanValue=cell.getBooleanCellValue();

returnValue = booleanValue.toString();

break;

case HSSFCell.CELL_TYPE_BLANK:     // 空值

returnValue = "";

break;

case HSSFCell.CELL_TYPE_FORMULA:   // 公式

returnValue = cell.getCellFormula();

break;

case HSSFCell.CELL_TYPE_ERROR:     // 故障

returnValue = "";

break;

default:

System.out.println("未知类型");

break;

}

}

return returnValue;

}

转载于:https://www.cnblogs.com/loveLearning/archive/2012/06/11/2544978.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值