如果没有看到数据示例和您的实际代码,很难说。但是,我尝试使用 CF10 和 SQL Server 2005 重现您描述的问题,但无法重现。所有值都显示为字符串,而不是科学计数法。
听起来您的数据或环境中有一些我们不知道的不同之处。请整理一个重现问题的小示例,我们可以进一步调试它。
测试1:
<!--- raw dates --->
<cfquery name="qry" datasource="#dsn#">
SELECT StartDate, EndDate
FROM YourTable
</cfquery>
<cfspreadsheet action="write"
filename="c:/test.xls"
query="qry"
overwrite="true" />
结果 1:(细胞类型:常规)
STARTDATE ENDDATE
2013-08-20 14:19:28.907 2013-09-03 14:19:28.907
2013-08-25 14:19:30.293 2013-09-03 02:19:30.293
测试 2:
<!--- convert / datetime --->
<cfquery name="qry" datasource="#dsn#">
SELECT CAST(CONVERT(varchar(20), StartDate, 22) AS datetime) AS GymStartDateTime
, CAST(CONVERT(varchar(20), EndDate, 22) AS datetime) AS GymEndDateTime
FROM YourTable
</cfquery>
<cfspreadsheet action="write"
filename="c:/test2.xls"
query="qry"
overwrite="true" />
结果 2:(细胞类型:常规)
GYMSTARTDATETIME GYMENDDATETIME
2013-08-20 14:19:28.0 2013-09-03 14:19:28.0
2013-08-25 14:19:30.0 2013-09-03 02:19:30.0
测试 3:
<!--- convert / string --->
<cfquery name="qry" datasource="#dsn#">
SELECT CONVERT(varchar(20), StartDate, 22) AS GymStartDateTime
, CONVERT(varchar(20), EndDate, 22) AS GymEndDateTime
FROM YourTable
</cfquery>
<cfspreadsheet action="write"
filename="c:/test3.xls"
query="qry"
overwrite="true" />
结果 3:(细胞类型:常规)
GYMSTARTDATETIME GYMENDDATETIME
08/20/13 2:19:28 PM 09/03/13 2:19:28 PM
08/25/13 2:19:30 PM 09/03/13 2:19:30 AM