情景
在kotlin
实现的项目中,要读取bookAssets.xlsx
文件中的内容。
解决方法
引入POI依赖
在libs
文件中加入要用到的6个.jar
包,并在gradle
中导入:
要用到的包已经放在下面的网盘链接中:
链接:https://pan.baidu.com/s/1WKVr2X2JgRfPWo6293RvHw
提取码:zlss
导入文件
在Device File Explorer
中,提前把文件放入到/data/data/包名/files
下
代码逻辑
private fun readExcel():ArrayList<Book>{
val ins: InputStream = openFileInput("bookAssets.xlsx")
val wb = XSSFWorkbook(ins) //读取xlsx文件
//获取工作表的对象
val sheet = wb.getSheetAt(0)
val addresses = ArrayList<Book>()
//从第1行开始遍历,因为第0行是标题
for(i in 1..sheet.lastRowNum){
val row = sheet.getRow(i) //获取行
val book = Book()
book.bookName = row.getCell(0).toString() //获取单元格
book.author = row.getCell(1).toString() //获取单元格
book.pages = row.getCell(2).toString() //获取单元格
book.big = row.getCell(3).toString() //获取单元格
book.small = row.getCell(4).toString() //获取单元格
book.number = row.getCell(5).toString() //获取单元格
//book.tags = row.getCell(6).toString() //获取单元格
addresses.add(book)
}
return addresses
}
测试
在MainActivity
中进行功能测试
可以看到前10个都被正常打印出来了。