我有一个日期为“30.08.2022”的excel,这个excel字段被格式化为日期。但是当我尝试获取原始值时,我只得到“44803”。无论我怎么尝试,我都得不到原始字符串。我只想得到直接字符串。我已经尝试过格式化程序。formatCellValue(单元格);但是我得到了一个格式化的字符串值8/30/22。但是我需要与单元格中相同的值
public class Main {
public static void main(String[] args) throws IOException {
String excelName = "<path to exce>";
String excelSheet = "<sheetname>";
try (XSSFWorkbook workbook = new XSSFWorkbook(excelName)) {
DataFormatter formatter = new DataFormatter();
XSSFSheet sheet = workbook.getSheet(excelSheet);
XSSFRow row1 = sheet.getRow(0);
//Date
XSSFCell cell1 = row1.getCell(0);
System.out.println(cell1.getRawValue());//44803
System.out.println( formatter.formatCellValue(cell1));//8/30/22
}
}
}
1条答案
按热度按时间mnowg1ta1#
如here所示,值44803是自Excel纪元以来的正确天数。您可以使用单元格样式中的
getDataFormatString()
来获取Excel用于显示该值的格式字符串。下面的输出包括格式化的Date
,后跟[原始数据:数据格式索引:和对应的格式字符串]:相反,如果给定
DataFormatter
的示例,则可以使用指定的格式设置原始日期的格式,生成8/30/2022
: