TOM*_*LLO 13 java excel apache-poi
我需要创建一个可以读取xls和xlsx文件的方法.根据我的研究,HSSF用于读取xls和XSSF以读取xlsx.我可以使用Apache POI的一部分来读取这两个文件吗?我也遇到了ss.usermodel,但发现没有足够的代码来娱乐xls和xlsx ....
tom*_*tom 19
是的,POI提供了一组新的接口,可以同时使用这两种类型.
使用WorkbookFactory.create()方法获取工作簿:http: //poi.apache.org/apidocs/org/apache/poi/ss/usermodel/WorkbookFactory.html
您可以使用以下方法检查excel文件,而不依赖于文件扩展名(不可靠 - 许多csv文件具有xls扩展名,但不能由POI解析):
//simple way to check for both types of excel files
public boolean isExcel(InputStream i) throws IOException{
return (POIFSFileSystem.hasPOIFSHeader(i) || POIXMLDocument.hasOOXMLHeader(i));
}
Run Code Online (Sandbox Code Playgroud)
小智 17
我对Apache POI没有太多的exp,但据我所知,如果你按类"Workbook"引用工作簿,那么你可以读写xls和xlsx.
您所要做的就是创建对象写入时
对于.xls-
Workbook wb = new HSSFWorkbook();
Run Code Online (Sandbox Code Playgroud)
对于.xlsx-
Workbook wb = new XSSFWorkbook();
Run Code Online (Sandbox Code Playgroud)
您可以传递文件类型的参数,并使用If语句相应地创建WorkBook对象.
小智 10
你可以使用apache提供的poi-ooxml和poi-ooxml-schema jar来阅读.
并使用以下代码: -
Workbook wb = null;
excelFileToRead = new FileInputStream(fileName);
wb = WorkbookFactory.create(excelFileToRead);
Sheet sheet = wb.getSheet(sheetName);
Run Code Online (Sandbox Code Playgroud)
上面的代码将读取xls和xlsx文件