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();
    }
  • 相关阅读:
    工作流数据结构
    CssFrindly使用
    .NET平台BPM
    关于SQL SERVER高并发访问的解决办法
    Asp.net防止后退(清除页面缓存)
    Attaching the Script debugger to process ‘[****]’ on machine **** failed.
    FlowWork学习(数据库部分)
    SQL Server 存储过程
    AjaxControlToolkit的安装与使用详解
    Cantor定理的一种好表述
  • 原文地址:https://www.cnblogs.com/mingyi123/p/6752330.html
Copyright © 2011-2022 走看看