История изменений
Исправление 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.
Или можно по индексам, если вам так удобнее.