读取值顺序
1. 获取sheet -> row -> cell -> cellType -> 对应type获取值
例: sheet.getSheet() -> sheet.getRow(0) -> row.getCell(); 
 ->  cell.getCellTypeEnum() -> STRING对应 cell.getStringCellValue();

CellTypeEnum(类型枚举):
注: 日期也是NUMBERIC类型
poi的使用

ExcelWriter writer = ExcelUtil.getWriter("D:/test/test2007.xlsx");
// 跳过第一行
writer.passCurrentRow();
// 合并前6列当前行单元格并测试内容
writer.merge(5, "测试内容");
// 设置别名, 当前数据中name的属性,输出后对应在(名称)列下
writer.addHeaderAlias("name", "名称");
// 写入内存数据
writer.write(null);
// 把内存数据写入到文件中
writer.flush();
// 关流
writer.close();

样式

ExcelWriter writer = ExcelUtil.getWriter("D:/test/test2007.xlsx");
        // 工作薄
        Workbook workbook = writer.getWorkbook();
        // 表
        Sheet sheet = workbook.getSheet(0);
        // 设置密码 默认单元是锁定的  只有设置了该值锁定才会生效
        sheet.protectSheet("123");
        Row row = sheet.createRow(0);
        Cell cell = row.getCell(0);
        // 创建单元格样式
        CellStyle cellStyle = writer.getCellStyle();
        // 边框
        cellStyle.setBorderTop(BorderStyle.THIN);   // 上边框
        // 居中
        cellStyle.setAlignment(HorizontalAlignment.CENTER); // 水平居中
        cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);   // 垂直居中
        // 字体
        Font font = writer.createFont();
        font.setFontName("宋体");
        font.setFontHeightInPoints((short) 15); // 字号
        font.setItalic(Boolean.TRUE);   // 斜体
        font.setBold(Boolean.TRUE); // 加粗
        font.setColor(IndexedColors.YELLOW.index); // 颜色
        cellStyle.setFont(font);
        // 取消当前单元格锁定
        cellStyle.setLocked(Boolean.FALSE);
        // 自定义单元格格式
        short format = workbook.createDataFormat().getFormat("yyyy-MM");
        cellStyle.setDataFormat(format);
        cell.setCellStyle(cellStyle);
        // 设置指定列的默认样式
        sheet.setDefaultColumnStyle(1, workbook.createCellStyle());
        // 设置指定列的默认宽
        sheet.setDefaultColumnWidth(1000);
        // 设置单元格下拉选择
        sheet.addValidationData(setDataValidation(sheet, new String[]{"1", "2", "3"}, 1, 500, 1, 1));
        // 计算列宽
        sheet.setColumnWidth(1, "列名".getBytes().length*2*256);

其他单元格数据校验

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2021-07-28
  • 2021-07-07
猜你喜欢
  • 2022-12-23
  • 2021-07-24
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2021-05-04
  • 2021-09-30
相关资源
相似解决方案