Я использую org.jxls:jxls-reader
для чтения некоторых данных из таблицы Excel. Строки начинаются с строки 20 Excel и должны читаться до тех пор, пока следующая строка не станет пустой. Но у меня проблемы с настройкой xml-config для чтения строк.
Каждая следующая строка после первой возвращает значение null
.
Я пытался понять departmentdata.xls
, предоставленный в http://jxls.sourceforge.net/reference/reader.html, но не могу его получитьправильно.
Буду признателен за понимание конфигурации.
Мой код в ExcelUploadController
:
InputStream xmlInputStream = new FileInputStream(xmlFile)
XLSReader reader = ReaderBuilder.buildFromXML(xmlInputStream);
InputStream xlsInputStream = dataFile.getInputStream();
DocumentDetailPosition documentDetailPosition = new DocumentDetailPosition();
List<DocumentDetailPosition> documentDetailPositions = new ArrayList<>();
Map<String, Object> beans = new HashMap<>();
beans.put("documentDetailPosition", documentDetailPosition);
beans.put("documentDetailPositions", documentDetailPositions);
XLSReadStatus status = reader.read(xlsInputStream, beans)
Мой xml-Config
:
<workbook>
<worksheet name="worksheet1">
<section startRow="0" endRow="19"/>
<loop startRow="19" endRow="29" items="documentDetailPositions" var="documentDetailPosition" varType="pl.fissst.crm.esales.pojo.DocumentDetailPosition">
<section startRow="19" endRow="29">
<mapping row="19" col="0" type="java.lang.Integer">documentDetailPosition.posProductNo</mapping>
<mapping row="19" col="1" type="java.lang.Integer">documentDetailPosition.quantity</mapping>
<mapping row="19" col="3" type="java.util.Date">documentDetailPosition.requestDate</mapping>
</section>
<loopbreakcondition>
<rowcheck offset="0"/>
<cellcheck offset="0"></cellcheck>
</loopbreakcondition>
</loop>
</worksheet>
</workbook>
когда значения DocumentDetail напечатаны, журнал показывает:
INFO 885744 g.a.c.p.f.c.e.ExcelUploadController - 1234567
INFO 885744 g.a.c.p.f.c.e.ExcelUploadController - 5
INFO 885746 g.a.c.p.f.c.e.ExcelUploadController - Thu Jan 03 00:00:00 CET 2019
INFO 885746 g.a.c.p.f.c.e.ExcelUploadController - null
INFO 885746 g.a.c.p.f.c.e.ExcelUploadController - null
INFO 885746 g.a.c.p.f.c.e.ExcelUploadController - null
Ожидаемое поведение: чтение всех строк
Фактический результат: чтение первой строки, а затем все равно null