Java 读取 Excel 单元格时间数据:示例代码和指南
在 Java 中,可以使用 Apache POI 库来读取 Excel 文件。以下是一个示例代码,演示如何读取 Excel 中某一单元格的时间内容:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
public class ReadExcel {
public static void main(String[] args) {
String filePath = 'path/to/your/excel.xlsx';
String sheetName = 'Sheet1';
int rowNum = 1; // 行号,从0开始
int cellNum = 2; // 列号,从0开始
try (FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheet(sheetName);
Row row = sheet.getRow(rowNum);
Cell cell = row.getCell(cellNum);
if (cell.getCellType() == CellType.NUMERIC && DateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
System.out.println('The time value is: ' + date);
} else {
System.out.println('The cell does not contain a time value.');
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
请确保你已经将 Apache POI 库添加到你的项目中。这里使用的是 POI 的最新版本,即 Apache POI 5.0.0。你可以从 POI 的官方网站(https://poi.apache.org/)下载并添加相应的 JAR 文件。
代码说明:
- 引入必要库: 代码开头引入了
org.apache.poi.ss.usermodel、org.apache.poi.xssf.usermodel和java.io包中的类。 - 定义文件路径和单元格位置: 使用
filePath、sheetName、rowNum和cellNum变量定义 Excel 文件路径、工作表名称、行号和列号。 - 使用 try-with-resources 句法打开文件: 通过
FileInputStream打开文件,并使用XSSFWorkbook创建工作簿对象。 - 获取工作表和单元格: 使用
workbook.getSheet()获取指定工作表,sheet.getRow()获取指定行,row.getCell()获取指定单元格。 - 判断单元格类型并读取时间: 使用
cell.getCellType()检查单元格类型,如果类型为CellType.NUMERIC且DateUtil.isCellDateFormatted(cell)为真,则使用cell.getDateCellValue()获取时间值并打印。 - 错误处理: 使用
try-catch句法捕获可能的IOException。
注意:
- 确保 Excel 文件中的时间数据已正确设置格式。
- 如果你的 Excel 文件是 .xls 格式,需要使用
HSSFWorkbook代替XSSFWorkbook。 - 可以根据需要修改代码中的文件路径、工作表名称、行号和列号。
更多信息:
- Apache POI 文档:https://poi.apache.org/docs/current/index.html
- Java 时间日期类:https://docs.oracle.com/javase/tutorial/datetime/index.html
原文地址: https://www.cveoy.top/t/topic/l2XE 著作权归作者所有。请勿转载和采集!