LINUX.ORG.RU

История изменений

Исправление BattleCoder, (текущая версия) :

wb = new XSSWorkBook(…)

на третьем листе с почтой

sheet = wb.getSheet(2)

удаляю первую строку листа

sheet.removeRow(0)

а на втором листе с логами входа

wb.getSheet(1)

удаляю первую строку листа,

sheet.removeRow(0)

сортирую список в единственном столбце (индекс 0), удаляю дубликаты и удаляю некоторые ненужные учётки

А тут уже наверное проще будет пройтись итератором, загрузить все данные в коллекцию (ArrayList или даже HashMap), там всё сделать и записать обратно. Возможно, стерев всё содержимое предварительно. Если размер таблицы не огромный (но с огромными POI всё равно плохо справляется, так что сомневаюсь).

У sheet есть rowIterator, у а row есть cellIterator, у cell, соответственно, getCellValue и setCellValue.

Или можно по индексам, если вам так удобнее.

Всё ответы есть тут https://poi.apache.org/apidocs/5.0/

С вас $9,000 за консультацию.

Исходная версия BattleCoder, :

wb = new XSSWorkBook(…)

на третьем листе с почтой

sheet = wb.getSheet(2)

удаляю первую строку листа

sheet.removeRow(0)

а на втором листе с логами входа

wb.getSheet(1)

удаляю первую строку листа,

sheet.removeRow(0)

сортирую список в единственном столбце (индекс 0), удаляю дубликаты и удаляю некоторые ненужные учётки

А тут уже наверное проще будет пройтись итератором, загрузить все данные в коллекцию (ArrayList или даже HashMap), там всё сделать и записать обратно. Возможно, стерев всё содержимое предварительно. Если размер таблицы не огромный (но с огромными POI всё равно плохо справляется, так что сомневаюсь).

У sheet есть rowIterator, у а row есть cellIterator, у cell, соответственно, getCellValue и setCellValue.

Или можно по индексам, если вам так удобнее.