Проблемы чтения значения времени в Perl с использованием win32: OLE - PullRequest
0 голосов
/ 18 марта 2012

Я пытаюсь прочитать Excel в Perl, у которого есть значения в формате -> "12:21:33 PM"

Мне нужно сравнить значения двух ячеек, а затем отсортировать их соответственно. Но проблема в том, что когда я пытался прочитать значения и проверил (с помощью Printf) некоторые десятичные значения в виде .444432323232 отображается и из-за этого я не могу сравнить два значения времени.

Плз предлагаю

Ответы [ 2 ]

4 голосов
/ 19 марта 2012

Это превосходно.Данные и отображаемый текст разные.Дата и время в Excel хранятся как настоящие.

«Даты и время в Excel представлены действительными числами, например,« 1 января 2001 г., 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

С уважением,

0 голосов
/ 24 августа 2013

Чтобы получить отформатированное значение ячейки, вы должны использовать свойство {'Text'} вместо свойства {'Value'}:

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

...