Java 类型不匹配:无法从HSSF工作簿转换为工作簿
我有下面的代码Java 类型不匹配:无法从HSSF工作簿转换为工作簿,java,ant,apache-poi,classpath,Java,Ant,Apache Poi,Classpath,我有下面的代码 Workbook srcWorkBook; Workbook tgtWorkbook; if((src.substring(src.lastIndexOf("."),src.length()).equals(".xlsx"))){ srcWorkBook=new XSSFWorkbook(excelFileSrc); }else{ srcWorkBook=new HSSFWorkbook(excelFileSrc); } 它在独立文件中正常运行,但在ant编译过
Workbook srcWorkBook;
Workbook tgtWorkbook;
if((src.substring(src.lastIndexOf("."),src.length()).equals(".xlsx"))){
srcWorkBook=new XSSFWorkbook(excelFileSrc);
}else{
srcWorkBook=new HSSFWorkbook(excelFileSrc);
}
它在独立文件中正常运行,但在ant编译过程中抛出了错误
[javac] found : org.apache.poi.hssf.usermodel.HSSFWorkbook
[javac] required: org.apache.poi.ss.usermodel.Workbook
我检查了我的类路径,它没有任何重复的JAR实例。请帮助首先,错误表明您的类路径上有一个主Apache POI jar的旧副本,或者使用了不匹配的POI jar。请参阅一些代码,这些代码将帮助您跟踪您真正使用的jar,以及有关在不受支持的版本之间混合POI jar的更多信息 其次,您的代码本身并不理想。相反,您应该使用来为自己实例化正确的工作簿类。将代码改为:
Workbook srcWorkBook = WorkbookFactory.create(new File(excelFileSrc));
这将为您标识文件类型,并为您创建正确的HSSFWorkbook
或XSSFWorkbook