java excel转list
时间: 2023-07-17 17:07:17 浏览: 137
java 数组转list
你可以使用 Apache POI 库来实现 Java 中 Excel 转换为 List 的功能。以下是一个简单的示例代码:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ExcelToListConverter {
public static void main(String[] args) {
String filePath = "path/to/your/excel/file.xlsx";
List<List<String>> dataList = readExcel(filePath);
// 打印转换后的数据
for (List<String> row : dataList) {
for (String cell : row) {
System.out.print(cell + "\t");
}
System.out.println();
}
}
public static List<List<String>> readExcel(String filePath) {
List<List<String>> dataList = new ArrayList<>();
try (FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis)) {
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 = "";
// 根据单元格类型读取值
switch (cell.getCellType()) {
case STRING:
cellValue = cell.getStringCellValue();
break;
case NUMERIC:
cellValue = String.valueOf(cell.getNumericCellValue());
break;
case BOOLEAN:
cellValue = String.valueOf(cell.getBooleanCellValue());
break;
case FORMULA:
cellValue = cell.getCellFormula();
break;
// 其他类型按空字符串处理
default:
break;
}
rowData.add(cellValue);
}
dataList.add(rowData);
}
} catch (IOException e) {
e.printStackTrace();
}
return dataList;
}
}
```
你需要将 `filePath` 替换为你实际的 Excel 文件路径。这段代码将读取 Excel 文件的第一个工作表,并将每个单元格的值存储在一个二维列表中,最后打印出来。你可以根据需要对代码进行修改和扩展。
阅读全文