0
創建groupRows閱讀https://poi.apache.org/apidocs/org/apache/poi/xssf/streaming/SXSSFSheet.html#groupRow(int,%20int)與SXSSFWorkbook
它說,集團應當窗口大小內創建,但如何創建立交橋窗口大小
創建groupRows閱讀https://poi.apache.org/apidocs/org/apache/poi/xssf/streaming/SXSSFSheet.html#groupRow(int,%20int)與SXSSFWorkbook
它說,集團應當窗口大小內創建,但如何創建立交橋窗口大小
這個小例子,產生從第2行一個groupRow到行554組帶200
public static final int ROWS=1000;
public static final int WINDOW_SIZE=100;
//public static final int WINDOW_SIZE=1000;
public static void main(String args[]) throws FileNotFoundException, IOException{
File outputFile = new File("testFile-actual.xlsx");
SXSSFWorkbook sworkbook = new SXSSFWorkbook(WINDOW_SIZE);
creatXLSX(outputFile, sworkbook);
File expectedoutputFile = new File("testFile-expected.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook();
creatXLSX(expectedoutputFile, workbook);
}
private static void creatXLSX(File outputFile, Workbook workbook)
throws IOException, FileNotFoundException {
Sheet sheet = workbook.createSheet();
int posFirstRow = 1;
boolean addgroup = true;
for(int i = 0; i < ROWS; i++) {
Row row = sheet.createRow(i);
Cell cell = row.createCell(0);
cell.setCellValue(i);
if (addgroup && i % WINDOW_SIZE == 0) {
sheet.groupRow(posFirstRow, i);
posFirstRow = i+1;
}
if (i == 556) {
sheet.groupRow(posFirstRow, 553);
posFirstRow = 556;
addgroup = false;
}
}
workbook.write(new FileOutputStream(outputFile));
}
鍵的窗口大小練成的1000行是:
groupRow(1,n)
groupRow(n+1, m)
連接兩組,產生相同
groupRow(1,m)
更多的信息在這裏https://bz.apache.org/bugzilla/show_bug.cgi?id=58077