使用win32:OLE读取Perl中的Time值的问题

时间:2012-03-18 19:17:30

标签: perl win32ole

我正在尝试阅读Perl中的Excel,其格式为值 - > “下午12:21:33”

我需要比较两个单元格的值,然后需要相应地对它们进行排序。 但问题是当我试图读取值并检查(通过使用Printf)时会显示.444432323232形式的一些十进制值,因此我无法比较两个时间值。

Plz建议

2 个答案:

答案 0 :(得分:4)

这很好。数据和显示文本不同。 excel中的日期时间存储为真实的。

  

例如,Excel中的日期和时间用实数表示   “2001年1月1日上午12:30”由数字36892.521表示。“

检查这些如何处理excel中的时间:

http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.37/lib/Spreadsheet/WriteExcel.pm#DATES_AND_TIME_IN_EXCEL

并检查此模块:http://search.cpan.org/~aburs/DateTime-Format-Excel-0.31/lib/DateTime/Format/Excel.pm

的问候,

答案 1 :(得分:0)

要检索单元格的格式化值,您应使用{'Text'}属性而不是{'Value'}属性:

http://docs.activestate.com/activeperl/5.8/faq/Windows/ActivePerl-Winfaq12.html