Исключение при записи в документ xlsx несколько раз с использованием apache poi 3.7

Я получаю следующее исключение при попытке написать.xlsx файл с использованием Apache POI:org.apache.xmlbeans.impl.values.XmlValueDisconnectedException

Кажется, проблема заключается в использовании метода write () во второй раз. При работе с HSSFWorkbook этой проблемы не возникает.

Вот код:

public class SomeClass{

XSSFWorkbook workbook;

public SomeClass() throws IOException{
    File excelFile = new File("workbook.xlsx");

    InputStream inp = new FileInputStream(excelFile);
    workbook = new XSSFWorkbook(inp);
    inp.close();
}

void method(int i) throws InvalidFormatException, IOException {

    XSSFSheet sheet = workbook.getSheetAt(0);
    XSSFRow row = sheet.getRow(i);
    if (row == null) {
        row = sheet.createRow(i);
    }
    XSSFCell cell = row.getCell(i);
    if (cell == null)
        cell = row.createCell(i);
    cell.setCellType(Cell.CELL_TYPE_STRING);
    cell.setCellValue("a test");

    // Write the output to a file
    FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
    workbook.write(fileOut);
    fileOut.close();

}

public static void main(String[] args) throws Exception {
    SomeClass sc = new SomeClass();

    sc.method(1);
    sc.method(2);
}
}

Ответы на вопрос(7)

Ваш ответ на вопрос