Java读取Excel数据的工具类
在日常的开发工作中,我们经常需要读取Excel中的数据来进行各种处理和分析。Java作为一门强大的编程语言,提供了丰富的库和工具类来处理Excel文件。本文将介绍一种常用的Java工具类,用于读取Excel数据并进行相关操作。
1. Excel文件格式
Excel文件是一种常见的电子表格文件格式,可以存储大量的数据和复杂的表格结构。在Java中,我们可以使用Apache POI库来处理Excel文件。在使用之前,需要先了解Excel文件的基本结构。
一个Excel文件通常由多个工作表(Sheet)组成,每个工作表又由多个行(Row)组成,每行又由多个单元格(Cell)组成。每个单元格可以存储不同类型的数据,如文本、数字、日期等。
2. Excel读取工具类
下面是一个简单的Java工具类,用于读取Excel文件中的数据。
import org.apache.poi.ss.usermodel.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
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 (FileInputStream fis = new FileInputStream(new File(filePath));
Workbook workbook = WorkbookFactory.create(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();
switch (cell.getCellType()) {
case BOOLEAN:
rowData.add(String.valueOf(cell.getBooleanCellValue()));
break;
case NUMERIC:
rowData.add(String.valueOf(cell.getNumericCellValue()));
break;
case STRING:
rowData.add(cell.getStringCellValue());
break;
default:
rowData.add("");
}
}
data.add(rowData);
}
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
}
上述代码通过Apache POI库,使用WorkbookFactory
类创建一个Workbook
对象,并通过getSheetAt(0)
方法获取第一个工作表。然后,它使用迭代器遍历每一行,并在每一行中使用迭代器遍历每个单元格。根据单元格的类型,将对应的数据添加到rowData
列表中,并最终将其添加到data
列表中。
3. 使用示例
下面是一个使用示例,演示如何使用上述工具类来读取Excel数据。
public class Main {
public static void main(String[] args) {
ExcelReader reader = new ExcelReader();
List<List<String>> data = reader.readExcel("data.xlsx");
for (List<String> rowData : data) {
for (String cellData : rowData) {
System.out.print(cellData + "\t");
}
System.out.println();
}
}
}
上述代码首先创建一个ExcelReader
对象,然后调用其readExcel
方法来读取Excel数据。最后,通过嵌套的循环遍历data
列表,并打印每个单元格的数据。
总结
本文介绍了一种常用的Java工具类,用于读取Excel文件中的数据。通过使用Apache POI库,我们可以方便地处理Excel文件,并从中提取所需的数据。希望本文对您在使用Java读取Excel数据时有所帮助。
旅行图(Journey):
journey
title Java读取Excel数据的工具类
section 学习Excel文件格式
section 编写Excel读取工具类
section 使用示例
section 总结
甘特图(Gantt):
gantt
title Java读取Excel数据的工具类
dateFormat YYYY-MM-DD
section 学习Excel文件格式
学习Excel文件格式 :done, 2021-09-01, 1d
section 编写Excel读取工具类
编写工具类 :done, 2021-09-02, 2d
section 使用示例
使用示例 :done, 2021-09