2017-08-18 113 views
0

我正在使用apache poi编写excel文件。我在循环中填入数据。如何在插入数据时添加额外的行(额外的空行)

例如:

header_1|header_2|header3|header_4|header_5|header6 
aaaaaaa1|bbbbbb_1|cccccc3| 
aaaaaaa2|bbbbbb_2|cccccc3| 
aaaaaaa3|bbbbbb_3|cccccc3| 
aaaaaaa4|bbbbbb_4|cccccc3| 

now 它的做工精细,但我需要额外的2行中的每个插入一行。 我想是这样的:

header_1|header_2|header3|header_4|header_5|header6 
aaaaaaa1|bbbbbb_1|cccccc3|test1111|test2222|test333 
         |TestLLLL|TestXXXX|testBBB 
         |TestLLLL|TestXXXX|testBBB 
aaaaaaa2|bbbbbb_2|cccccc3|test1111|test2222|test333 
         |TestLLLL|TestXXXX|testBBB 
         |TestLLLL|TestXXXX|testBBB 
aaaaaaa3|bbbbbb_3|cccccc3|test1111|test2222|test333 
         |TestLLLL|TestXXXX|testBBB 
         |TestLLLL|TestXXXX|testBBB 
aaaaaaa4|bbbbbb_4|cccccc3|test1111|test2222|test333 
         |TestLLLL|TestXXXX|testBBB 
         |TestLLLL|TestXXXX|testBBB 

expected 应该循环是什么样的?

for(Data d: allData){ 
    Row row = sheet.createRow(++row); 
    Cell c = row.createCell(0); 
    c.setCellValue("something); 
    Cell c1 = row.createCell(1); 
    c1.setCellValue("something1) 
    //etc.. 
    } 

回答

0

尝试这样:

for(Data d: allData){ 
    Row row = sheet.createRow(++row); 
    Cell c = row.createCell(0); 
    c.setCellValue("something01"); 
    c = row.createCell(1); 
    c.setCellValue("something02") 
    //etc.. 

    // Add extra rows: 
    row = sheet.createRow(++row); 
    c = row.createCell(0); 
    c.setCellValue("something11"); 
    c = row.createCell(1); 
    c.setCellValue("something12") 
    //etc.. 
} 

编辑:如果第一行和两个“空行”应该共享标题1-3(和你只是想减少冗余),然后您可以执行类似sheet.addMergedRegion(new CellRangeAdress(rowFrom, rowTo, colFrom, colTo)的操作,将列和行合并在一起(但这会使excel文件不可用)

+0

谢谢,它很有用。 –