Как вставить строку между двумя строками в существующем Excel с помощью HSSF (Apache POI)

Каким-то образом мне удается создать новые строки между двумя строками в существующем файле Excel. Проблема в том, что часть форматирования не была включена при смещении строк.

Одно из них - это строки, которые скрыты не относительно продолжаются во время смены. Я имею в виду (напр.), строки с 20 по 30 скрыты, но при создании новых строк форматирование все еще существует. Скрытые строки также должны перемещаться во время вставки / создания новых строк, это должно быть от 21 до 31.

Другое дело, другой объект на листе, которого нет в ячейке. Как и текстовое поле, не перемещаются после создания новой строки. Как будто положение этих объектов фиксировано. Но я хочу, чтобы он переместился, так же, как я вставляю новую строку или вставляю строку в excel. Если есть функция вставки новой строки, пожалуйста, дайте мне знать.

Это то, что у меня есть сейчас, всего лишь фрагмент моего кода.

HSSFWorkbook wb = new HSSFWorkbook(template); //template is the source of file
HSSFSheet sheet = wb.getSheet("SAMPLE");
HSSFRow newRow;
HSSFCell cellData;

int createNewRowAt = 9; //Add the new row between row 9 and 10

sheet.shiftRows(createNewRowAt, sheet.getLastRowNum(), 1, true, false);
newRow = sheet.createRow(createNewRowAt);
newRow = sheet.getRow(createNewRowAt);

Если копирование и вставка строк возможно, это будет большим подспорьем. Но я уже здесь спрашиваю и не могу найти решения. Поэтому я решил создать ряд как временное решение. Я покончил с этим, но возникла такая проблема.

Мы будем благодарны за любую помощь. Спасибо!

52
задан Randomness 31 May 2011 в 04:08
поделиться