我正在进行Excel数据导入和读取文件。文件格式可以是.xls
或.xlsx
。
我已经看到了使用这两个文件的不同方法。
.xls
,
HSSFWorkbook workbook = new HSSFWorkbook(file);
........;
和.xlsx
XSSFWorkbook workbook = new XSSFWorkbook (file);
......;
但这看起来像是一项额外的工作,为不同的文件格式编写不同的方法。 如果我们用不同的方法编写,几乎所有的代码都是相同的,除了开头的文件格式检查。 我正在使用Apache POI进行excel导入。
有没有办法在单个方法中同时执行这两种文件格式?例如,在单个方法中对.xls
和.xlsx
文件数据导入和验证执行相同的操作。
我不期待整个代码或其他东西(我不会得到),但想要用一种方法完成它。
答案 0 :(得分:0)
我已经找到了解决方案。
我们可以在这种情况下使用XSSFWorkbook
。它可以处理excel文件的xls
和.xlsx
格式。
FileInputStream path= new FileInputStream(fileName);
Workbook workbook = null;
if(fileName.toLowerCase().endsWith("xlsx"))
{
workbook = new XSSFWorkbook(path);
}else if(fileName.toLowerCase().endsWith("xls"))
{
workbook = new HSSFWorkbook(path);
}
其余的操作可以在此之后进行。
WEBSITE中有一个教程用于执行相同的操作。
快乐学习。