Android 读取Excel
时间: 2023-10-13 10:44:57 浏览: 66
在 Android 中读取 Excel 文件可以使用 Apache POI 库来实现。以下是一个简单的示例代码:
1. 首先,确保在项目的 build.gradle 文件中添加 Apache POI 依赖:
```groovy
implementation 'org.apache.poi:poi:4.1.2'
implementation 'org.apache.poi:poi-ooxml:4.1.2'
```
2. 创建一个方法来读取 Excel 文件并返回数据:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ExcelReader {
public List<List<String>> readExcel(String filePath) {
List<List<String>> data = new ArrayList<>();
try {
InputStream inputStream = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
List<String> rowData = new ArrayList<>();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
String cellValue = "";
if (cell.getCellType() == CellType.STRING) {
cellValue = cell.getStringCellValue();
} else if (cell.getCellType() == CellType.NUMERIC) {
cellValue = String.valueOf(cell.getNumericCellValue());
}
rowData.add(cellValue);
}
data.add(rowData);
}
workbook.close();
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
}
```
3. 在你的代码中调用该方法,传入 Excel 文件的路径:
```java
ExcelReader excelReader = new ExcelReader();
List<List<String>> excelData = excelReader.readExcel("/path/to/your/excel.xlsx");
// 处理读取到的数据
for (List<String> row : excelData) {
for (String cell : row) {
System.out.print(cell + "\t");
}
System.out.println();
}
```
这个示例代码使用了 Apache POI 提供的 XSSFWorkbook 类来处理 xlsx 格式的 Excel 文件,如果你的文件是 xls 格式的,可以使用 HSSFWorkbook 类。请确保添加了正确的 Apache POI 依赖,并替换代码中的文件路径为你的实际路径。
阅读全文