使用Apache POI从excel文件中读取值

时间:2017-07-27 16:32:31

标签: java excel apache-poi java-io

Excel file

大家好,

我想阅读我在图片中显示的文件的价值 目前,我使用switch-case语句来保存数据,但很难区分1. Contact2. Contact

case "Address Line"
     contact1.setAddressLine(cellIterator.next().getStringCellValue());
case "City"
     contact1.setCity(cellIterator.next().getStringCellValue());
case "County"
     contact1.setCounty(cellIterator.next().getStringCellValue());
...and so on for Address
case "Number of Students"
     contact1.setAddressLine(cellIterator.next().getStringCellValue());
case "Number Of Professors"
     contact1.setAddressLine(cellIterator.next().getStringCellValue());

这适用于UniversityProfessors,但不适用于Contact

任何人都可以指导我如何做到这一点?

(子问题:是否可以读取所有值并将其存储在未固定到特定结构的位置?)

1 个答案:

答案 0 :(得分:1)

如果excel文件的结构是静态的,您可以使用它们的坐标而不是使用cellIterator来引用这些值。

单元格A1可以引用为

Sheet sheet = ...
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);

// Do what you need

因此,例如,如果联系人的地址是在B5上,而联系人2的地址在E5中

Sheet sheet = ...
Row row = sheet.getRow(4);           // Reference to row 5
Cell cellContact1 = row.getCell(1);  // Reference to cell B5

Cell cellContact2 = row.getCell(4);  // Reference to cell E5

注意:

在现有Excel中使用getRowgetCell来读取值

在新的Excel中使用createRowcreateCell来创建值