xls2csv:错误的日期单元格解析

时间:2012-06-20 06:08:57

标签: parsing xls

我使用命令行选项-f%Y-%m-%d或甚至%d-%b-%y格式化日期

但每个日期在我输入日期之前四年和一天

例如,在没有-f选项的情况下解析后的日期01.06.20122016-06-02 玩弄-f得到相同的结果

是什么原因?有没有解决方法, 除了硬编码和减去这4年和1天?

我正在使用xls2csv(由V.B.Wagner提供,在debian中附带catdoc软件包) 并切换到另一个解析器可能是非常昂贵的选项

2 个答案:

答案 0 :(得分:2)

工具 xls2csv 是一个使用Spreadsheet::ParseExcel库的Perl应用程序。

基于此类库documentation已知问题之一是:

  • 如果 Excel的日期字段中指定的格式等于短日期区域设置的系统默认值 Excel不会存储格式< / strong>,但默认为内部格式,取决于系统。在这些情况下,ParseExcel使用日期格式'yyyy-mm-dd'。

因此,您可能会因为上面列出的问题而使用不包含日期格式的Excel文件进​​行操作。

答案 1 :(得分:2)

这是一个已知的错误。有一个补丁可用于 https://www.wagner.pp.ru/cgi-bin/cvstrac/catdoc/tktview?tn=14,4

有效。 顺便说一句,有两个程序叫做xls2csv,我们讨论的是catdoc包中的那个,而不是Perl程序。