问题 excel里的数据是合并的 拆分之后 想自动填充下边的数据
看了好几种方式都不行 用代码实现
package com.alibaba.cainiao.controller;
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Objects;
public class ExcelEditor {
public static void main(String[] args) throws IOException {
// 打开Excel文件
FileInputStream fis = new FileInputStream("E:\\软件\\WeChat\\WeChat Files\\" +
"wxid_mc1pcblbkca022\\FileStorage\\File\\2023-11\\工作细则\\11.xlsx");
Workbook workbook = WorkbookFactory.create(fis);
fis.close();
// 获取工作表
Sheet sheet = workbook.getSheetAt(0);
int lastRowNum = sheet.getLastRowNum();
Integer indexs = 10;
for (int i = 0; i < lastRowNum + 1; i++) {
Row row = sheet.getRow(i);
if (Objects.isNull(row)) {
sheet.createRow(i).createCell(0).setCellValue(indexs);
} else {
Cell cell = row.getCell(0);
if (Objects.isNull(cell)) {
row.createCell(0).setCellValue(indexs);
} else {
++indexs;
cell.setCellValue(indexs);
}
}
}
// 保存修改后的Excel文件
FileOutputStream fos = new FileOutputStream("E:\\软件\\WeChat\\WeChat Files\\" +
"wxid_mc1pcblbkca022\\FileStorage\\File\\2023-11\\工作细则\\11.xlsx");
workbook.write(fos);
fos.close();
}
}
这是获取第一个每行的第一个单元格 如果有值 重新复制 如果没值 就用上一行的值