PHPExcel: читать все значения (дата, время, числа) в виде строк - PullRequest
10 голосов
/ 21 декабря 2011

У меня проблемы с датами и временем. Я хочу, чтобы они читались так же, как они указаны в книге Excel.

Итак, я полагаю, что если я получу все ячейки листа с помощью toArray (), то я просто должен сделать что-то (некоторое преобразование формата), которое отобразит все ячейки как строки, даты, время и т. Д.

ИЛИ может быть такая функция, как load, которая загружает все данные в рабочую книгу в виде строки без форматирования или других сложных вещей.

1 Ответ

13 голосов
/ 21 декабря 2011

toArray () поддерживает следующие аргументы:

/**
 * @param  mixed    $nullValue          Value returned in the array entry if a cell doesn't 
 *                                      exist
 * @param  boolean  $calculateFormulas  Should formulas be calculated?
 * @param  boolean  $formatData         Should formatting be applied to cell values?
 * @param  boolean  $returnCellRef      False - Return a simple array of rows and 
 *                                      columns indexed by number counting from zero
 *                                      True - Return rows and columns indexed by their 
 *                                      actual row and column IDs
 */

так

toArray(NULL,TRUE,TRUE);

вернет все значения ячеек на листе (рассчитанные и отформатированные) в точности так, как они отображаются в самом Excel.

Таким образом, даты будут возвращаться как (например) 21 декабря 2011 г. в 07:30, а не как 47239,318 (в зависимости от маски формата для ячейки). Другие числовые ячейки могут быть возвращены как 21 357,00 (в зависимости от маскировки формата для этой ячейки), так что это обоюдоострый меч.

...