用java excel提取器的问题

我写了一些代码从xls中提取数据并将其保存到csv中。 除非有时间价值,否则一切都很好。 我怎样才能避免呢? 例如,如果在xls文件中是119:22:00,那么它将以格式types作为date以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()); } } } 

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

Excel中date和时间的基础值非常难以处理,对于初级用户来说,它们的原始格式是毫无意义的。 你可以看到基本的价值Excel转换你的date和时间,只需打开你的Excel表格,并暂时将格式更改为number 。 你会看到,只要你input一个date或时间,就把它翻译成对用户没有意义的date或时间的数字表示,如果你提取的是底层的值而不是格式化文本。

在这里输入图像说明