我是Apache POI的新手,目前正在研究一个项目以写入Excel File。
每次调用此方法调用“ WriteInfo”时,如何插入新行都遇到麻烦。 结果是我再次在同一行上书写(因为第2行)。
我的代码尝试如下:
public void writeInfo(Workbook workbook, Sheet sheet, MO temp) throws IOException {
Row row = sheet.createRow(2);
row.createCell(0).setCellValue(temp.getFirstName());
row.createCell(1).setCellValue(temp.getLastName());
row.createCell(2).setCellValue(temp.getAge());
row.createCell(3).setCellValue(temp.getBirthDay());
row.createCell(4).setCellValue(temp.getEmail());
row.createCell(5).setCellValue(temp.getAddress());
// Resize all columns to fit the content size
for(int i = 0; i < columns.length; i++) {
sheet.autoSizeColumn(i);
}
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("poi-generated-file.xlsx");
workbook.write(fileOut);
fileOut.close();
}
答案 0 :(得分:4)
createRow()
的参数是行号,因此,您需要将不断增加的行号传递给2
createRow()
。
private int currentRow = 2;
public void writeInfo(Workbook workbook, Sheet sheet, MO temp) throws IOException {
Row row = sheet.createRow(currentRow++);
...