我将POI HSSF API用于Java中的excel操作。我在一个excel单元格中有一个日期值“ 8/1/2009”,当我尝试使用HSSF
API读取此值时,它将检测到单元格类型为数字并返回我的日期的“双精度”值。请参见下面的示例代码:
cell = row.getCell(); // date in the cell '8/1/2009'
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
cellValue = cell.getRichStringCellValue().getString();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
cellValue = new Double(cell.getNumericCellValue()).toString();
break;
default:
}
Cell.getCellType()返回NUMERIC_TYPE,因此此代码将日期转换为两倍!:(
有什么方法可以读取HSSF POI中的日期!
您可以看一下:
HSSFDateUtil.isCellDateFormatted()
有关HSSFDateUtil的更多详细信息,请参见POI可怕的电子表格格式API:
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFDateUtil.html
这也提供了一些用于返回Excel
getExcelDate()
和Java日期的辅助方法getJavaDate()
。不过,您需要警惕不同的日期格式…
问题内容: 我正在使用Apache POI库读取Excel文件。我在读取密码单元时被卡住了。如果用户在密码单元格中输入日期作为密码,即16/05/2012。我正在将此值读取为“ 41045”,而该值应为“ 16/05/2012”。这是我的代码: 有人可以帮忙吗? 谢谢。 问题答案: 您在POI中寻找的类是DataFormatter 当Excel写入文件时,某些单元格将存储为文字字符串,而另一些单元
我有一个Java代码显示的内容的excel表。现在,当我处理数值/字符串/布尔数据时,它总是给出正确的结果。不同的是,为了测试我的代码,我在Excel中做了很少的改动,并添加了一个日期值(例如4-SEP-09)。在运行我的代码时,它返回了不想要的结果。代码和O/P如下所示。如何从excel表中读取和显示日期值?我在用阿帕奇POI。我可以执行类似的操作,检查单元格值是否为date,或者是否使用?这是
我正在尝试使用Apache POI来读取旧的(2007年之前和XLS)Excel文件。我的程序走到行的末尾并进行迭代,直到找到非null或非空的内容。然后它迭代几次并获取这些细胞。该程序可以很好地读取Office 2010中的XLSX和XLS文件。 我收到以下错误消息: 排队的时候: 根据代码: 其中是文档中最后一个不为空或null的单元格。当我尝试打印第一个不为空或null的单元格时,它不会打印
我正在尝试使用apache poi库来读取excel。我想将日期字段转换为字符串值。因此,我使用了以下代码: 我的约会方式很奇怪
问题内容: 我有包含多个工作表的Excel文件,每个工作表看起来都像这样(但更长): 第一列实际上是四个垂直合并的单元格。 当我使用pandas.read_excel阅读此内容时,我得到一个看起来像这样的DataFrame: 如何让Pandas理解合并的单元格,或者快速方便地删除NaN并按适当的值分组?(一种方法是重置索引,逐步查找值并将NaN替换为值,传入天数列表,然后将索引设置为该列。但是似乎
我有一个带有sheet1 excel文件,该文件的第2行和第10列有一个我需要读取的值。这是我的代码。 获取了cell对象Excel.Range后,我不知道如何读取该单元格的内容。我试着把它转换成数组并在它上面循环,我试着转换成字符串数组等等,我确信这是非常简单的。有没有直接的方法只得到一个字符串的单元格值?