今天做了scala把数据库的数据按照需求导出Excel中,遇到一些问题和坑,记录下来遇到的大家分享。首先一个贴上一个粗糙的demo,大家可以借鉴一下。
利用Apache poi包进行处理,用的是4.0.1,依赖包:
1 | <dependency> |
代码:
1 | //创建file |
遇到的坑:
org.apache.poi.poifs.filesystem.NotOLE2FileException
之前用的HSSFWorkbook类处理Excel,发现这个类只处理2007版之前的Excel,可以看成后缀是xls的Excel文件,后缀为xlsx需要用XSSFWorkbook,这个类不在poi包,需要引用poi-ooxml和poi-ooxml-schemas包
org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long)
看到网上例子,创建XSSFWorkbook的时候,有用fileInputStream参数创建的。我就用了val hssf = new XSSFWorkbook(new FileInputStream(“/Users/g2/Desktop/a.xlsx”))的方式报错,结果一直报这个错误,去掉流的参数就可以了
####