• 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();
    }
  • 相关阅读:
    onkeydown事件
    单击循环事件
    for-in循环
    in运算符
    数组成员升序降序排列
    bzoj 3754: Tree之最小方差树 模拟退火+随机三分
    bzoj 3752: Hack 预处理+暴力dfs
    hdu 5269 ZYB loves Xor I 分治 || Trie
    bzoj 4501: 旅行 01分数规划+概率期望dp
    bzoj 4260: REBXOR Trie+乱搞
  • 原文地址:https://www.cnblogs.com/mingyi123/p/6752330.html
Copyright © 2020-2023  润新知