クエリからスプレッドシートを作成する場合、作成されるスプレッドシートでは、日時データ型の列をフォーマットできません。
スプレッドシートの作成は次のとおりです。
<cfset filenametouse = 'AllCaseData' />
<!---Set directory and full file path--->
<cfset theDir = GetDirectoryFromPath(GetCurrentTemplatePath()) />
<!---Attach file extension to full file path and file name--->
<cfset theFile = theDir & filenametouse & ".xls" />
<cflock name="fileActionSentItems" type="exclusive" timeout="30" throwontimeout="true">
<cfset SpreadsheetObj = spreadsheetNew()>
<!---<cfset fcol = {}>
<cfset fcol.dataformat = "@">--->
<!---Create the column headings--->
<cfset SpreadsheetAddRow(SpreadsheetObj, "Case_Number,Ship_Start,Projected_$,VA_$,Customer_ID,Customer,Project_Description,Stage,Sales,PM,J_Count,O_Count,S2_Count,S_Count,I_Count")>
<!---add the column data to the spreadsheet--->
<cfset SpreadsheetAddRows(SpreadsheetObj, caseData) />
<cfset SpreadsheetFormatColumn(SpreadsheetObj, {dataformat="m/d/yyyy"}, 2)>
<!---Generate the spreadsheet--->
<cfspreadsheet action="write" filename="#theFile#" name="SpreadsheetObj" sheetname="Sheet1" overwrite="true" />
</cflock>
<cftry>
<cflock name="fileActionSentItems" type="exclusive" timeout="30" throwontimeout="true">
<cfmail to="#session.authUser.getEmail()#" from="noreply@pratt.com" subject="All Case Data" type="html" >
<cfmailparam file="#theFile#" remove="true" />
<p>The requested data is attached.</p>
</cfmail>
</cflock>
<cfcatch type="any" >
<cffile action="delete" file="#theFile#" />
</cfcatch>
</cftry>
<cfoutput><h3 style="margin-top: 1em;">Email sent to <cfoutput>#session.authUser.getEmail()#</cfoutput></h3></cfoutput>
すべてのデータは正しく、正しい列にありますが、「Ship_Start」列は2012-11-27 00:00:00.000のようにフォーマットされており、Excelで他のフォーマットに変更することはできません。
SQL Server Management Studioでクエリを手動で実行し、ヘッダー付きの結果をExcelにコピーすると、データをフォーマットできます。また、列ヘッダーをフォーマットしてテンプレートにデータを入力したExcelテンプレートを作成しましたが、「日付」でフォーマットされていても列をフォーマットできません。
何が欠けている可能性がありますか?