poi 解析excel 支持 xls xlsx后缀

public void main(File file){

InputStream in = new FileInputStream(file);
// 判断是否是excel2007格式
boolean isE2007 = false; 
if (file.getName().endsWith("xlsx")) {
isE2007 = true;
}
//
Workbook wb = null;
// 根据文件格式(2003或者2007)来初始化
if (isE2007) {
wb = new XSSFWorkbook(in);
} else {
wb = new HSSFWorkbook(in);
}
//解析第一个sheet工作单元
Sheet sheet = wb.getSheetAt(0);
//get file的总行数
int lastRowNum = sheet.getLastRowNum();
//迭代解析文件没一行数据
for (int i = 0; i < (lastRowNum+1); i++) {
//get 本行数据共有多少列
int cellNum  = sheet.getRow(i).getLastCellNum();
for (int j = 0; j < cellNum; j++) {
//打印一行数据
System.out.print(judgeTypeGetStr(sheet.getRow(i).getCell(j))+",");
}
System.out.println();

}

}





// 判断当前cell的数据类型,根据数据类型转换成string并返回
public static String judgeTypeGetStr(Cell cell) {
DecimalFormat df = new DecimalFormat("#");
switch (cell.getCellType()) { // 根据cell中的类型来输出数据
case HSSFCell.CELL_TYPE_NUMERIC:
return df.format(cell.getNumericCellValue()).trim();
case HSSFCell.CELL_TYPE_STRING:
return cell.getStringCellValue().trim();
case HSSFCell.CELL_TYPE_BOOLEAN:
return cell.getBooleanCellValue() + "".trim();
case HSSFCell.CELL_TYPE_FORMULA:
return df.format(cell.getCellFormula()).trim();
default:
return "";
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值