如何使用Java Apache POI在Excel中添加标题列?

我正在写一个Java程序,我必须从XML文件中获取数据并将其放入Excel文件中。 在做这个时,我必须创build行标题并相应地添加数据。

我知道如何创build列标题。 我可以这样做:

.... HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("EDR Raw Data"); Row header = sheet.createRow(0); header.createCell(0).setCellValue("Header1"); header.createCell(1).setCellValue("Header2"); header.createCell(2).setCellValue("Header3"); header.createCell(3).setCellValue("Header4"); .... 

它创build如下所示的excel文件: 在这里输入图像说明

但是我希望我的excel文件如下所示:

在这里输入图像说明

我没有办法做到这一点。 单独创build所需数量的行不是个好主意。 有什么办法可以创build一个列,并添加该列中的所有标题?

我试图这样做的方式是:

 .... HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("EDR Raw Data"); sheet.createRow(0).createCell(0).setCellValue("header1"); sheet.createRow(1).createCell(0).setCellValue("header2"); sheet.createRow(2).createCell(0).setCellValue("header3"); sheet.createRow(3).createCell(0).setCellValue("header4"); ... 

但在我的情况下,我必须给100 +行标签。 所以这不是有效的方法。

只需为每个标题创build一行,并填充每个标题的第一个单元格!

就像是:

 String[] headers = new String[] { "Header1", "Header2", "Header3" }; Workbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet("EDR Raw Data"); for (int rn=0; rn<headers.length; rn++) { Row r = sheet.createRow(rn); r.createCell(0).setCellValue(headers[rn]); } 

然后填充数据时,执行sheet.getRow(rownumber)来获取现有的行,并填充其中感兴趣的剩余单元格