根据异常信息可以看出,问题出现在insertMissingData方法中的workbook.setSheetName方法调用时。这个方法要求传入的sheet名称必须是有效的,但是在插入数据后,新的Sheet名称可能会与之前的名称冲突。

为了解决这个问题,可以在插入数据前先检查新的Sheet名称是否已经存在,如果存在,则在名称后面添加一个数字后缀,直到找到一个可用的名称。可以使用workbook.getSheetIndex方法来判断名称是否已经存在,如果返回值大于等于0,则表示名称已经存在。

修改insertMissingData方法如下:

private static void insertMissingData(Sheet sheet) {
    Workbook workbook = sheet.getWorkbook(); // 获取工作簿对象
    List<Date> insertDates = new ArrayList<>(); // 保存插入的日期
    Sheet newDataSheet = workbook.createSheet("temp"); // 创建新的Sheet对象,用
Excel数据修复与填充示例

原文地址: https://www.cveoy.top/t/topic/fQkO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录