PHPExcel дата требуется дд / мм / гг

Я использую PHPExcel Lib для загрузки таблицы Excel, и мне потребовался формат даты столбца, например, 25 мая-17 вместо 25-05-17 в моей таблице загрузки Excel.

Я смог добавить числовой формат 25-05-17, но не так, как 25 мая 17, и ниже мой код, как.

      $objPHPExcel->getActiveSheet()
->getStyle('V'.$i)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY
);

Я не могу найти константу в классе Lib

const FORMAT_DATE_YYYYMMDD2 = 'yyyy-mm-dd';
const FORMAT_DATE_YYYYMMDD = 'yy-mm-dd';
const FORMAT_DATE_DDMMYYYY = 'dd/mm/yy';
const FORMAT_DATE_DMYSLASH = 'd/m/y';
const FORMAT_DATE_DMYMINUS = 'd-m-y';

Могут ли некоторые помочь мне установить дату, например, d-M-yy (25 мая-17)?

2

Решение

Вы не ограничены предопределенными константами; это лишь некоторые из строк формата, которые распознает MS Excel … полный список всевозможных масок был бы чрезмерным … и ненужным … все, что вы делаете, это передаете строковое значение setFormatCode() метод, так что вы можете передать строковый литерал.

Маска MS Excel для нужного вам формата dd-mmm-yyyy, и вы можете установить это просто как строковый литерал вместо использования какой-либо константы:

$objPHPExcel->getActiveSheet()
->getStyle('V'.$i)
->getNumberFormat()
->setFormatCode('dd-mmm-yyyy');

Обратите внимание, что в MS Excel есть «настраиваемая» опция для кодов числового формата, которая позволяет вам точно так же установить строковый литерал

2

Другие решения

исходный код показывает:

const FORMAT_DATE_DMYMINUS                = 'd-M-Y';

M является Краткое текстовое представление месяца, три буквы с января по декабрь, но с Y вы все равно получите 4 цифры года.

Почему бы просто не передать свой формат d-M-y?

$objPHPExcel->getActiveSheet()
->getStyle('V'.$i)
->getNumberFormat()
->setFormatCode('d-M-y');
0

Вы можете использовать желаемый формат непосредственно в своем коде вместо использования одного из предопределенных форматов, доступных с константами PHPExcel_Style_NumberFormat.

$objPHPExcel->getActiveSheet()
->getStyle('V'.$i)
->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY);

станет:

$objPHPExcel->getActiveSheet()
->getStyle('V'.$i)
->getNumberFormat()
->setFormatCode('d-M-yy');

Обратите внимание, что вы, возможно, захотите проверить и правильно установить локаль, чтобы буква «М» в вашем формате давала английские названия месяцев.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector