一、说明及准备工作
1.用于AS使用POI读取、创建、另存excel,兼容xlsx和xls格式
2.下载poi-3.12-android-a.jar、poi-ooxml-schemas-3.12-0511-a.jar两个POI包(版本自行选择),放入libs目录
3.打开app目录的build.gradle,添加完整依赖:
然后就可以开始干活了
二、文件读取,删除操作过程
1.创建workbook对象
(1). 创建.xlsx文件对象
workbook = new XSSWorkbook(inputStream);
(2). 创建.xls文件对象
workbook = new HSSFWorkbook(inputStream);
(3). 用workbookFactory创建workbook对象,这样就不用再考虑版本不同的问题
workbook = WorkbookFactory.create(inputStream);
2.获取工作表对象
Sheet sheetAt = workbook.getSheetAt(i);
3.获取工作表行数、列数
//获得第i行总列数int coloumNum=sheet.getRow(i).getPhysicalNumberOfCells();//获得总行数int rowNum=sheet.getLastRowNum();
4.获取工作表行
Row row = sheetAt.getRow(i);
5.获取工作表某个单元格,及各种类型
//获取单元格Cell cell = row.getCell(i);//获取单元格样式cell.getCellType();//获取布尔类型的单元格Cell.getBooleanCellValue();//获取数字类型的单元格Cell.getNumericCellValue();//获取日期类型的单元格Cell.getDateCellValue();//获取数值类型的单元格Cell.getNumericCellValue();//获取字符串类型的单元格Cell.getStringCellValue();
6.删除某一行
//删除某一行,-1表示单元格上移sheet.shiftRows(i,sheet.getLastRowNum(),-1);//删除完成后需重新调用如下方法,才会生效FileOutputStream OS = new FileOutputStream(filePath);workbook.write(OS);
三、文件另存
1.创建工作表
Sheet sheet = wrokbook.creatSheet("sheetName");
2.创建行
Row row = sheet.creatRow(int i);
3.创建列
Cell cell = row.creatCell(int i);
4.添加文本信息至对应cell
cell.setCellValue("文本内容");
5.将数据写入文件,并保存在指定路径文件
OutputStream outputStream = context.getContentResolver().openOutputStream(Uri uri);XSSFWorkbook.write(outputStream);