读取Excel数据是Java开发中常见的任务。下面是完整的攻略:
1. 导入依赖
要读取Excel数据,需要导入Apache POI依赖。可以在pom.xml文件中添加以下依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
2. 读取Excel文件
要读取Excel数据,需要打开Excel文件并读取其内容。可以使用以下代码打开工作簿并选择要读取的工作表:
File file = new File("example.xlsx");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheet("Sheet1");
3. 读取单元格数据
接下来,可以使用以下代码读取单元格内的数据:
Cell cell = sheet.getRow(rowNum).getCell(colNum);
其中,rowNum
指定行号,colNum
指定列号。可以使用以下代码读取单元格中的数据:
if (cell.getCellType() == CellType.STRING) {
String value = cell.getStringCellValue();
// do something with value
} else if (cell.getCellType() == CellType.NUMERIC) {
double value = cell.getNumericCellValue();
// do something with value
} else if (cell.getCellType() == CellType.BOOLEAN) {
boolean value = cell.getBooleanCellValue();
// do something with value
}
4. 读取整行数据
如果需要读取整行数据,可以使用以下代码:
Row row = sheet.getRow(rowNum);
for (Cell cell : row) {
if (cell.getCellType() == CellType.STRING) {
String value = cell.getStringCellValue();
// do something with value
} else if (cell.getCellType() == CellType.NUMERIC) {
double value = cell.getNumericCellValue();
// do something with value
} else if (cell.getCellType() == CellType.BOOLEAN) {
boolean value = cell.getBooleanCellValue();
// do something with value
}
}
5. 示例
下面是两个读取Excel数据的示例。
示例1:读取单元格数据
假设有一个名为example.xlsx的Excel文件,其中第一行第一列单元格包含字符串“Hello World!”。以下代码读取该单元格中的数据并在控制台上输出它:
File file = new File("example.xlsx");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheet("Sheet1");
Cell cell = sheet.getRow(0).getCell(0);
if (cell.getCellType() == CellType.STRING) {
String value = cell.getStringCellValue();
System.out.println(value);
}
运行后,将输出:Hello World!
示例2:读取整行数据
假设有一个名为example.xlsx的Excel文件,其中第二行包含三个单元格,分别包含字符串“Hello”,数值5.0和布尔值true。以下代码读取该行中的所有数据并在控制台上输出它们:
File file = new File("example.xlsx");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheet("Sheet1");
Row row = sheet.getRow(1);
for (Cell cell : row) {
if (cell.getCellType() == CellType.STRING) {
String value = cell.getStringCellValue();
System.out.println(value);
} else if (cell.getCellType() == CellType.NUMERIC) {
double value = cell.getNumericCellValue();
System.out.println(value);
} else if (cell.getCellType() == CellType.BOOLEAN) {
boolean value = cell.getBooleanCellValue();
System.out.println(value);
}
}
运行后,将输出Hello、5.0和true。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA如何读取Excel数据 - Python技术站