2014-09-25 3 views
1

Можете ли вы мне помочь, как добавить новую строку в HSSFSheet? Фокус в том, что я хочу добавить новую строку вверху документа XLS.Apache POI XLS: добавить новую строку сверху

Вот мой код до сих пор:

HSSFSheet sheet = doc.getSheetAt(0); 
    HSSFRow row = sheet.createRow(0); 
    row.createCell(0).setCellValue("----newRow---"); 

Предположим, что у меня есть документ с текстом:

line1 
line2 
line3 

выше код дает мне результат:

----newRow--- 
line2 
line3 

вместо

----newRow--- 
line1 
line2 
line3 

ответ

4

Первый сдвиг всех строк одно место вниз, это создаст новую строку в начале, используя следующее: -

sheet.shiftRows(startRow, endRow, n); 

т.е.

sheet.shiftRows(0, sheet.getLastRowNum(), 1); 

и теперь у вас есть первый ряд доступных для записи ничего ,

Определение: -

Сдвиг строки между StartRow и EndRow п числом строк. Если вы используете отрицательное число , оно сдвинет строки вверх. Код гарантирует, что строки не будут обматываться . Вызывает shiftRows (startRow, endRow, n, false, false); Дополнительно сдвигает объединенные области, которые полностью определены в этих строках (т. Е. Объединили 2 ячейки в строке, подлежащей смещению).

Параметры:

StartRow строка, чтобы начать переход

EndRow строке, чтобы закончить переход п число строк сдвига

+0

спасибо, она прекрасно работает – Igor

Смежные вопросы