Java ApachePOI,同时使用XSSF和HSSF
我对Apache POI项目有问题 我未能在“同一Java类”中使用Java ApachePOI,同时使用XSSF和HSSF,java,apache,apache-poi,xssf,hssf,Java,Apache,Apache Poi,Xssf,Hssf,我对Apache POI项目有问题 我未能在“同一Java类”中使用XSSF和HSSF。我应该下载哪个jar,或者应该将哪个工件添加到maven中 我想同时处理xls和xlsx文件。当我收到excel版本错误时,我会将XSSF更改为HSSF或将HSSF更改为XSSF 如何做到这一点?与其这样做,不如尝试使用Apache POI 3.7的新版本,它有一个SS包,可以处理HSSF和XSSF,而不必担心类型 此处的详细信息:除了“标准”SS软件包解决方案外,您还可以简单地使用if语句将正确的工作簿格式
XSSF
和HSSF
。我应该下载哪个jar,或者应该将哪个工件添加到maven中
我想同时处理xls
和xlsx
文件。当我收到excel版本错误时,我会将XSSF更改为HSSF或将HSSF更改为XSSF
如何做到这一点?与其这样做,不如尝试使用Apache POI 3.7的新版本,它有一个SS包,可以处理HSSF和XSSF,而不必担心类型 此处的详细信息:除了“标准”SS软件包解决方案外,您还可以简单地使用
if语句
将正确的工作簿格式
正确加载到工作簿界面
对象中,如下所示:
Workbook workbook; //<-Interface, accepts both HSSF and XSSF.
File file = new File("YourExcelFile.xlsx");
if (FileUtils.getFileExt(file).equalsIgnoreCase("xls")) {
workbook = new HSSFWorkbook(new FileInputStream(file));
} else if (FileUtils.getFileExt(file).equalsIgnoreCase("xlsx")) {
workbook = new XSSFWorkbook(new FileInputStream(file));
} else {
throw new IllegalArgumentException("Received file does not have a standard excel extension.");
}
工作簿// 请使用同时处理xssf和hssf的工厂
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
Workbook wb = WorkbookFactory.create(new File("file"))
这对我很有用:
filePath = "C:\Users\user1\workspace\myproject\Excel.xlsx"
String extension = FilenameUtils.getExtension(filePath);
System.out.println(extension);
首先谢谢你的帮助。我查了你提到的那一页。好啊我在pom.xml中添加了下面的代码:org.apache.poi poi contrib 3.7-beta3,尽管如此,我的Java类仍然无法解析XSSFWorkbook?HSSF工作簿()上没有问题;工作簿[]wbs=新工作簿[]{new HSSFWorkbook(),new XSSFWorkbook()};XSSFWorkbook位于groupId:org.apache.poi,artifactId:poi ooxmlAndIWorkbook
中(如果使用NPOI)