我正在尝试使用 Adobe ColdFusion - 8 创建电子表格(.XLS 文件)。创建电子表格的代码是:
<cfsetting enablecfoutputonly="Yes">
<cfset date_from = "#URL.date_from#">
<cfset date_to = "#URL.date_to#">
<cfset query_id="#URL.queryID#">
<cfquery name="GetEmps" datasource="cfdocexamples">
<!--- My SQL Queries Goes Here--->
</cfquery>
<cfcontent type="application/msexcel">
<cfheader name="Content-Disposition" value="filename=Employees.xls">
<cfoutput>
<table cols="4">
<cfloop query="getData">
<tr>
<td>#uid#</td>
<td>#week#</td>
<td>#book_count#</td>
</tr>
</cfloop>
</table>
</cfoutput>
每当我运行该页面时,都会创建一个 XLS 表,但我找不到任何数据。创建的 XLS 文件的大小为 0。
请注意:查询是正确的(因为当我将输出打印为 html 时,我可以看到没有任何错误/警告的表格)。
**阅读评论后:UPD**:
我已经更新了我的代码,现在只包含重要的代码片段。
更新 2:
每当我评论该行时<cfsetting enablecfoutputonly="Yes">
,都会使用预期数据创建 xls 文件。但是,当我打开生成的文件时,会出现一个对话框:
请注意生成的电子表格是完美的。唯一困扰我的是上面的警告。另请注意:每当我尝试在 google-docs 中打开电子表格作为预览时,它都会说,由于格式损坏,无法打开该文件。
但是,我可以在 MS-Excel 中完美地打开它。
即使将内容类型更改为 : <cfcontent type="application/vnd.msexcel">
,我也收到了同样的警告。