如何在Java中读取Excel(.xlsx)文件?

从一个给定的.xlsx文件,我正在尝试使用Java读取数据。

在这里输入图像说明

我的代码阅读文件如下:

 public static void main(String[] args) throws Exception { FileInputStream file = new FileInputStream(new File("E:\\test1.xlsx")); XSSFWorkbook workbook = new XSSFWorkbook(file); XSSFSheet test = workbook.getSheetAt(0); student emp = new student(); Iterator<Row> itr = test.iterator(); itr.next(); while(itr.hasNext()){ Row row = itr.next(); emp.reedData(row); System.out.println(id+","+name+","+options); } 

方法如下:

 void reedData(Row row){ id= row.getCell(0).toString(); name= row.getCell(1).toString(); options= row.getCell(2).toString(); } 

但是,我得到这样的输出:

 1.0,X,play game ,,sing song 2.0,Y,play game ,,sing song 

而不是上面,我想输出看起来像这样:

 1.0,X,{play game,sing song} 2.0,Y,{play game,sing song} 

这个问题是因为我在.xlsx文件中合并了两个单元格。

任何build议? 先谢谢你..

看起来您正在使用Apache POI。 尝试在代码中将这2个单元合并:

 test.addMergedRegion(1,2,0,0); 

要么:

 sheet.addMergedRegion(new CellRangeAddress(1,2,0,0))