java中workbook,从XSSFWorkbook和SXSSFWorkbook中转换对象

  • Post author:
  • Post category:java


我在第一张纸上使用包含2个表的模板文件 . 我需要在第一张纸上执行2次操作 .

有Locations数据表列 Headers (例如sr.no,位置和相关数据字段),我需要在其中使用XSSFWorkbook,以便我可以根据位置的大小向下移动行 .

有设备表,我需要使用流API,即SXSSFWorkbook对象

我使用XSSFWorkbook创建了工作簿对象,向下移动了行,然后尝试将工作簿转换为SXSSFWorkbook . 但它在执行时会抛出错误

java.lang.IllegalArgumentException: Attempting to write a row[11] in the range [0,30] that is already written to disk.

如果我首先使用SXSSFWorkbook创建工作簿obj,则无法创建

XSSFWorkbook来自它 . 有人可以建议如何做到这一点 .

我试过了 :

FileInputStream inputStream = new FileInputStream(new File(filePath));

XSSFWorkbook workbook = new XSSFWorkbook(inputStream);

XSSFSheet sheet = workbook.getSheet(“Sheet1”);

// First shift rows down – WORKS FINE

sheet.shiftRows( tab1HeaderRowNum + 1, sheet.getLastRowNum(), locationRecordsSize – 1);

// Copy style of row on new rows – WORKS