Как я могу отформатировать столбец как дату, используя spreadsheetFormatColumn? - PullRequest
0 голосов
/ 23 февраля 2012

Я использую cfspreadsheet для создания таблицы данных Excel.Есть несколько столбцов, которые являются датами и отображаются так:

1988-09-19 00:00:00.0

Я бы хотел отформатировать их для отображения в формате м / д / гггг.Я пытался использовать электронную таблицу FormatColumn:

<cfset spreadsheetFormatColumn(s, {dataformat="m/d/yyyy"}, 8) />

Но это ничего не меняет.Как я могу отформатировать колонку с помощью coldfusion?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Как упомянул Ли в комментарии, это похоже на ошибку Coldfusion.Я обошел это путем преобразования дат в varchars на стороне сервера sql (используя convert(varchar, myDateField, 101)).

0 голосов
/ 22 октября 2012

Это не может быть ошибкой.Значение, которое вы вводите в ячейку с использованием функций электронной таблицы, должно быть float, а не какой-либо строкой даты, например «12/25/2012».

Число с плавающей точкой должно представлять количество дней, прошедших с эпохи , которая, согласно моим исследованиям, в Excel обрабатывает 1 как 1/1/1900 00:00:00.Тем не менее, были другие странные результаты , в которых говорилось, что иногда эпоха была днем ​​или двумя от этого.

Метод, который я нашел , чтобы представить это в Oracle - это:

   SELECT ( TRUNC(inv_date) - TO_DATE('1899-12-30', 'yyyy-mm-dd') ) 
          +  TO_NUMBER(TO_CHAR(inv_date, 'SSSSS')) / 86400 AS InvcDateAsFloat

(Обратите внимание, что есть два места, представленные inv_date, для ввода названия вашего собственного столбца даты)

...