PHPExcel Авто Формат даты для Excel - PullRequest
1 голос
/ 19 мая 2011

Я использую PHPExcel для создания файлов Excel, и у меня есть несколько столбцов «Дата», в которых хранятся значения даты. Однако PHPExcel заставляет меня определить формат даты для работы с полями даты. Например

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';
const FORMAT_DATE_DMMINUS               = 'd-m';
const FORMAT_DATE_MYMINUS               = 'm-y';
const FORMAT_DATE_XLSX14                = 'mm-dd-yy';
const FORMAT_DATE_XLSX15                = 'd-mmm-yy';
const FORMAT_DATE_XLSX16                = 'd-mmm';

Однако это ограничено, так как вы должны использовать один из этих форматов. Что я хочу, так это дать дату PHPExcel без форматирования (или с каким-либо специальным типом форматирования), и Excel отобразит ее в соответствии с текущей локалью пользователя. Если бы я использовал один из этих форматов, парень, живущий в США, прочитал бы другой формат времени, с которым он не знаком, или такая же ситуация для пользователей, которые живут в разных странах. Короче говоря, каким-то образом Excel должен показывать дату в текущей локали пользователя. Возможно ли это как-то? Я погуглил, но шансов нет.

Спасибо.

1 Ответ

0 голосов
/ 22 мая 2011

Однако это ограничено, так как вы должен использовать один из этих форматов.

Вы не ограничены использованием констант. Точно так же, как вы можете определить пользовательские маски формата для дат в самом MS Excel, вы можете сделать это и в PHPExcel. Вам просто нужно определить жало маскировки.

Что я хочу, так это дать дату PHPExcel без форматирования (или с какой-то особый тип форматирования) и Excel покажет это в соответствии с пользователями текущая локаль Если я использую один из этого Форматы парень живет в США будет читать другой формат времени, в котором он не знаком или то же самое ситуация для пользователей, которые живут в разные страны.

Но вы не можете автоматически изменить эту маску формата даты при просмотре файла в MS Excel на основе языкового стандарта MS Excel.

Короче, как-то excel должен показывать дата в текущей локали пользователя. Является это возможно как-то?

MS Excel дает вам эту опцию? Если так, как бы вы сделали это в MS Excel? Я не знаю всех функций Excel, поэтому это возможно; но я не знаю, как ты это сделаешь.

...