我正在编写java代码来读取具有列名“Key”和“Value”的excel文件。但是因为无法在这行代码中投射错误,
row firstRow =(Row)sheet.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);
}
答案 0 :(得分:4)
您的类路径中存在错误匹配的Apache POI jar。您需要确保所有的Apache POI罐都来自同一版本,如果您将旧的罐子组合在一起,那么事情将无法发挥作用。
要查看您需要的罐子,请查看列出它们及其依赖项的Apache POI Components page
要弄清楚您实际使用的罐子(可能不是您认为正在使用的罐子),请参阅first Apache POI FAQ entry
中的代码段。一旦你拥有一套一致的POI罐子(截至编写时将基于3.10),它应该没问题
答案 1 :(得分:0)
仅选择一个POI库。