码迷,mamicode.com
首页 > 编程语言 > 详细

Java导出Excel表格

时间:2017-04-23 13:47:47      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:_for   exce   book   mat   str   stat   switch   att   lstat   

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();
}

Java导出Excel表格

标签:_for   exce   book   mat   str   stat   switch   att   lstat   

原文地址:http://www.cnblogs.com/mingyi123/p/6752330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!