#coldfusion #lucee
Вопрос:
Я использую значение spreadsheetformatcell для ввода даты в excel следующим образом
<cfset spreadsheetSetCellValue(objxls, "#datecreated#", 2,1,"Date")>
это работает, но я кое-что заметил, у меня две машины, и на одной машине дата отображается как: 02-19-2021
и в других excel это показывает 19/02/2021
что я заметил, так это то, что он, похоже, использует языковой стандарт, указанный в окнах. как я могу заставить использовать формат dd/mm/yyyy
на всех компьютерах, независимо от локали
могу ли я использовать что-то в ColdFusion, чтобы это сработало..
Спасибо
Комментарии:
1. Это зависит от того, что пользователи должны иметь возможность делать с данными, как только они окажутся в Excel. Если им нужно выполнить какие-либо функции даты, ничего не делайте. Если им просто придется взглянуть на это, то ответ Адриана сработает.
2.
..how can i force to use the format of dd/mm/yyyy...
Я думаю, вы ответили на свой собственный вопрос: т. е. примените формат . Похоже, что код этого не делает, поэтому в итоге вы получаете значение по умолчанию, которое зависит от машины и локали.3. Какую версию ColdFusion, JDK и ОС вы используете?
4. я-coldfusion 2016, windows и jdk, я не
Ответ №1:
Вы должны быть в состоянии просто отформатировать дату.
<cfset spreadsheetSetCellValue(objxls, "#dateFormat(datecreated, 'dd/mm/yyyy')#", 2,1,"Date")>
Комментарии:
1. хорошо, я попробовал, но проблема все еще в том, что если открывается на другом компьютере, то отображается дата в формате мм-дд-гггг
2. Добавьте одинарную кавычку к отформатированной дате.
3. Форматирование не будет работать при использовании типа данных «дата», так как CF просто анализирует значение обратно в объект даты перед заполнением ячейки. Что касается отображения, похоже, что CF использует один из форматов даты, определенных для конкретной локали , по умолчанию для ячеек «дата». Применение электронных таблиц(…) с правильным форматом даты должно работать
4. Что ж, каждый день узнавайте что-то новое… По какой-то причине это , похоже, работает. Хотя совершенно не представляю, почему. Придется еще покопаться в черной магии Adobe и посмотреть, работает ли она также с другими языковыми настройками 😉