2

我写了一些代码来从 xls 中提取数据并将它们保存到 csv 中。一切都很好,除了当我有时间价值时,它将它更改为日期。我怎样才能避免这种情况?例如,如果在 xls 文件中它是 119:22:00,它将以 1/4/1900 23:23 格式保存到 csv 文件中,格式类型为日期。如何保持格式为 String 的方式?

这是代码:

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());
        }
    }
}
4

1 回答 1

0

您需要获取 Excel.Cell.Text 而不是 Excel.Cell.Value 才能查看格式化值。显然,您要提取的是价值。根据您的代码,看起来问题将出现在cell.getContents()sheet.getRow()- 用于从 excel 中提取数据的任何一个。您也应该发布这些功能的内容。

Excel 中的日期和时间的基础值很难处理,对于新手用户来说,其原始格式毫无意义。您只需打开 Excel 工作表并将格式临时更改为number. 您会看到,只要您输入日期或时间,它就会将其转换为该日期或时间的数字表示,这对用户来说毫无意义,因此如果您提取基础值而不是格式化的文本。

在此处输入图像描述

于 2012-04-20T16:05:51.567 回答