zoukankan      html  css  js  c++  java
  • 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();
    }
  • 相关阅读:
    小程序云开发(一)
    原来你是这样的"layui"啊
    记个笔记(项目中遇到的关于input的一些操作)
    vue的学习之路 vue-cli与axios
    小程序 上传图片
    文字滚动
    css 隐藏滚动条
    linux基础
    接口测试
    整理python循环,列表,字典笔记
  • 原文地址:https://www.cnblogs.com/mingyi123/p/6752330.html
Copyright © 2011-2022 走看看