dw企业网站设计,服装市场调研报告,电商企业有哪些,wordpress page模版《使用EasyExcel在Excel中增加序号列的方法》 1、简介2、正文3、核心代码4、使用方法5、效果 1、简介 在处理Excel文件时#xff0c;有时候需要为表格增加序号列。本文介绍了如何使用Java代码实现在Excel中增加序号列的功能#xff0c;并提供了一个示例代码。 2、正文 在处理… 《使用EasyExcel在Excel中增加序号列的方法》 1、简介2、正文3、核心代码4、使用方法5、效果 1、简介 在处理Excel文件时有时候需要为表格增加序号列。本文介绍了如何使用Java代码实现在Excel中增加序号列的功能并提供了一个示例代码。 2、正文 在处理Excel文件时有时候我们需要在表格中增加序号列以便更好地标识每一行的顺序。下面是一个使用Java代码在Excel中增加序号列的示例 3、核心代码
/*** 增加序号列** author xiangtianlei* date 2023/11/14*/
Component
public class AddNoHandler implements RowWriteHandler {private boolean init true;Overridepublic void beforeRowCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,Integer rowIndex, Integer relativeRowIndex, Boolean isHead) {if (init) {// 修改存储头部及对应字段信息的 map, 将其中的内容均右移一位, 给新增的序列号预留为第一列ExcelWriteHeadProperty excelWriteHeadProperty writeSheetHolder.excelWriteHeadProperty();MapInteger, Head headMap excelWriteHeadProperty.getHeadMap();MapInteger, ExcelContentProperty contentMap excelWriteHeadProperty.getContentPropertyMap();int size headMap.size();for (int current size; current 0; current--) {int previous current - 1;headMap.put(current, headMap.get(previous));contentMap.put(current, contentMap.get(previous));}// 空出第一列headMap.remove(0);contentMap.remove(0);// 只需要修改一次 map 即可, 故使用 init 变量进行控制init false;}}Overridepublic void afterRowCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row,Integer relativeRowIndex, Boolean isHead) {// 在行创建完成后添加序号列Cell cell row.createCell(0);int rowNum row.getRowNum();if (rowNum 0) {cell.setCellValue(序号);} else {cell.setCellValue(rowNum);}}Overridepublic void afterRowDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row,Integer relativeRowIndex, Boolean isHead) {if (row.getLastCellNum() 1) {// 将自定义新增的序号列的样式设置与默认的样式一致row.getCell(0).setCellStyle(row.getCell(1).getCellStyle());}}}
4、使用方法
WriteSheet writeSheet EasyExcel.registerWriteHandler(new AddNoHandler()).build()5、效果