有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获取错误为“org.apache.poi.hssf.usermodel.HSSFRow无法转换为org.apache.poi.ss.usermodel.Row”

我正在编写java代码来读取列名为“Key”和“Value”的excel文件。但由于无法在这行代码中强制转换而导致错误

行firstRow=(行)工作表。getRow(0)

如何解决这个错误请帮助我

public static void main(String[] args) throws Exception {       
FileInputStream fileIn = new FileInputStream("c://param_2003.xls");
POIFSFileSystem fs = new POIFSFileSystem(fileIn); 
HSSFWorkbook filename = new HSSFWorkbook(fs);
HSSFSheet sheet = filename.getSheetAt(0);

String column1 = "Key";
String column2 = "Value";
Integer columnNo1 = null;
Integer columnNo2 = null;
List<Cell> cells = new ArrayList<Cell>();
Row firstRow =(Row)sheet.getRow(0);

for(org.apache.poi.ss.usermodel.Cell cell:firstRow){
    if (cell.getStringCellValue().equals(column1)){
        columnNo1 = cell.getColumnIndex();
    }
}

for(org.apache.poi.ss.usermodel.Cell cell:firstRow){
    if (cell.getStringCellValue().equals(column2)){
        columnNo2 = cell.getColumnIndex();
    }
}
System.out.println(columnNo1);
System.out.println(columnNo2);

}

共 (2) 个答案

  1. # 1 楼答案

    仅选择一个POI库

  2. # 2 楼答案

    类路径上有不匹配的Apache POI JAR。您需要确保所有ApachePOIJAR都来自同一个版本,如果您将旧的JAR与新的JAR组合在一起,事情将无法正常工作

    要了解您需要什么jar,请查看Apache POI Components page,其中列出了jar及其依赖项

    要了解您实际使用的JAR(可能不是您认为使用的JAR),请参阅first Apache POI FAQ entry中的代码片段

    一旦您有了一套一致的POI JAR(在撰写本文时,它将基于3.10),就应该可以了