我写了一些代码来从 xls 中提取数据并将它们保存到 csv 中。一切都很好,除非我有一个时间值,它正在将它更改为一个日期。我怎样才能避免这种情况? 例如,如果在 xls 文件中它是 119:22:00,它将作为 1/4/1900 23:23 保存到 csv 文件中,格式类型为日期。我怎样才能保持格式为字符串的原样?
代码如下:
if (sheet != null)
{
for (currentRow = 0; currentRow < sheet.getRows(); currentRow++)
{
row = new ArrayList<String>();
Cell[] rowCells = sheet.getRow(currentRow);
for (Cell cell : rowCells)
{
System.out.println(cell.getContents());
}
}
}
最佳答案
您需要获取 Excel.Cell.Text 而不是 Excel.Cell.Value 才能查看格式化值。显然,您要提取的是值(value)。根据您的代码,问题似乎出在 cell.getContents()
或 sheet.getRow()
- 无论哪个用于从 excel 中提取数据。您也应该发布这些功能的内容。
Excel 中日期和时间的基本值非常难以处理,而且对于新手用户来说,其原始格式毫无意义。您只需打开 Excel 工作表并将格式暂时更改为 number
,即可看到 Excel 将您的日期和时间转换为的基础值。您会发现,一旦您输入日期或时间,它就会将其转换为该日期或时间的数字表示形式,这对用户来说毫无意义,因此如果您提取基础值而不是格式化文本。
关于java - java excel 提取器的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249340/