Java导出Excel表格

public void main(){

  Workbook wookbook = ExcelUtil.createWorkbook(upload);
  Sheet sheet = wookbook.getSheetAt(0);//读取第一个表格
int rows = sheet.getPhysicalNumberOfRows();//获取表格的行数
  for (int i = 3; i < rows; i++) {//从第三行开始是输入的数据
    Row row = sheet.getRow(i);

    //空行校验
    if (row == null || isRowEmpty(row)|| row.getFirstCellNum() < 0) {//空行跳过  试过很多种方法,都不太理想,用这三种方法校验基本上就都可以校验出来了
    continue;
    }
 
 

    //获取Excel整数
    HSSFDataFormatter dataFormatter = new HSSFDataFormatter();
    String code = dataFormatter.formatCellValue(row.getCell(2));
    
    //获取公式计算后的数据
    String sellPrice =getCellValue(row.getCell(5));

  }
}

//校验是否为空行
public  boolean isRowEmpty(Row row) throws Exception {
for (int r = row.getFirstCellNum(); r < row.getLastCellNum(); r++) {
Cell cell = row.getCell(r);
if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK)
return false;
}
return true;
}

//获取公式计算后的值
public String getCellValue(Cell cell) throws Exception{
int cellType = cell.getCellType();
String cellValue = "";
switch (cellType) {
case HSSFCell.CELL_TYPE_NUMERIC:
cellValue = String.valueOf(cell.getNumericCellValue());
break;

case HSSFCell.CELL_TYPE_FORMULA:
try {
cellValue = cell.getStringCellValue();
} catch (IllegalStateException e) {
cellValue = String.valueOf(cell.getNumericCellValue());
}
break;

default:
cellValue = cell.getStringCellValue();
}

return cellValue.trim();
}

转载于:https://www.cnblogs.com/mingyi123/p/6752330.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值