下面的代码检查Excel文件的第一个单元格是否包含日期值。在Excel中,日期的单元格类型返回为HSSFCell.CELL_TYPE_NUMERIC,以确保它是否包含日期,我们可以使用实用程序方法HSSFDateUtil.isCellDateFormatted(HSSFCell cell),该方法将检查单元格值是否为有效日期。package org.nhooo.example.poi;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class DateCellType {
public static void main(String[] args) throws Exception {
String filename = "datecelltype.xls";
try (FileInputStream fis = new FileInputStream(filename)) {
HSSFWorkbook workbook = new HSSFWorkbook(fis);
HSSFSheet sheet = workbook.getSheetAt(0);
// 读取工作表上的第一个单元格。
HSSFCell cell = sheet.getRow(0).getCell(0);
if (cell.getCellType() == CellType.NUMERIC) {
System.out.println("Cell type for date data type is numeric.");
}
// 使用HSSFDateUtil检查单元格是否包含日期。
if (HSSFDateUtil.isCellDateFormatted(cell)) {
System.out.println("The cell contains a date value: "
+ cell.getDateCellValue());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
代码段的示例结果:Cell type for date data type is numeric.
The cell contains a date value: Tue Jul 23 00:00:00 WITA 2019
Maven依赖
org.apache.poi
poi
4.1.0