Как разделить длинные таблицы на несколько слайдов в ppt с помощью apache POI - PullRequest
2 голосов
/ 25 ноября 2011

Я пытаюсь экспортировать таблицы в PPT, используя POI.Но мои таблицы могут содержать n строк.

Проблема в том, что вся таблица отображается на одном слайде.Я хочу разбить таблицу по слайдам в зависимости от количества строк.

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Я могу что-то упустить, но что не так с очевидным?

 Slide slide = hslf.createSlide();
 int rows = 0;
 int maxRowsPerSlide = 10; // Tune this

 for(MyRowThingy row : getMeMyRows()) {
     doAddRowToSlide(row, slide);

     rows++;
     if(rows % maxRowsPerSlide == 0) {
        // Slide is full, time for a new slide!
        slide = hslf.createSlide();
     }
 }
0 голосов
/ 30 ноября 2011

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

public int getMaxRowsInOneSlide(int sizeOfTotalRowsArray, int totalCount){   //totalCount is the count of current row
    int maxRowsPerSlide = 0;

    if(sizeOfArray - totalCount >= 10){  //10 is the default rows in a slide
        maxRowsPerSlide = 10;
    }
    else{
        maxRowsPerSlide = (sizeOfArray - totalCount)+1;              //'+1' because each slide contains a row for the column names in the table
    }
    return maxRowsPerSlide;
}
}
...