POI Apache getRow () renvoie null et .createRow échoue

J'ai le problème suivant à l'aide d'Apache POI v3.12:
J'ai besoin d'utiliser un fichier XLSX avec 49 lignes [0..48] comme un modèle, remplir les cellules avec les données et l'écrire comme un fichier différent, de sorte que je peux réutiliser à nouveau le modèle. Ce que je fais est d'environ ceci:

XSSFWorkbook wbk_template = new XSSFWorkbook(new FileInputStream    (f_wbk_template));
SXSSFWorkbook wbk = new SXSSFWorkbook(wbk_template, 50, true);

Sheet sheet = wbk.getSheet(STR_SHEET_NAME);

/plus tard/

Row row = sheet.getRow(rownum);
if (null == row) {
    row = sheet.createRow(rownum);
}

Sur le débogage, il s'avère que getRow() renvoie null, mais la tentative de .createRow() échoue avec:

java.lang.IllegalArgumentException: Attempting to write a row[2] in the range [0,48] that is already written to disk.
    at org.apache.poi.xssf.streaming.SXSSFSheet.createRow(SXSSFSheet.java:122)
...

suis-je manqué quelque chose? Comme ce que j'ai lu dans le Apache docs et les forums, j'ai besoin de createRow() si getRow() renvoie la valeur null. La feuille ne contient pas toutes les lignes en fonction .getPhysicalRows(), .getFirstRowNum() et .getLastRowNum()

Grâce.

source d'informationauteur Plamen Vasilev