Coldfusion 如何强制下载生成的Excel文件并仍保存副本?

Coldfusion 如何强制下载生成的Excel文件并仍保存副本?,coldfusion,Coldfusion,我有一个基于此的代码: 它当前生成一个Excel文件,将其保存在服务器上,然后提供指向Excel文件的链接 以下是我当前的report.cfm代码: 我如何更改它,以便当用户单击report.cfm的链接时,它不再显示他们单击下载您的Excel文件,而是自动触发下载并保留生成的Excel文件的副本 后续行动: 我提供了一个指向用户生成去年报告的链接 此链接指向report.cfm,它现在生成excel文件,并提供下载链接 他们不希望额外的点击,所以我正在寻找一个解决方案,页面自动下载文件 根据B

我有一个基于此的代码:

它当前生成一个Excel文件,将其保存在服务器上,然后提供指向Excel文件的链接

以下是我当前的report.cfm代码:

我如何更改它,以便当用户单击report.cfm的链接时,它不再显示他们单击下载您的Excel文件,而是自动触发下载并保留生成的Excel文件的副本

后续行动:

我提供了一个指向用户生成去年报告的链接 此链接指向report.cfm,它现在生成excel文件,并提供下载链接

他们不希望额外的点击,所以我正在寻找一个解决方案,页面自动下载文件

根据Bernhard的建议,我将代码修改为

<cfscript>
   - original script -
</cfscript>
<cfheader name="Content-Disposition" value="attachment; filename=#dateformat(todayDate, "yyyymmdd")#_#TimeFormat(todayDate, "HHmmss")#_Year2013GradApps.xlsx">
<cfcontent type="application/vnd.msexcel">

我可以强制下载,但Excel无法打开该文件,因为文件格式或文件扩展名无效。

您可以使用cfcontent标记:还可以使用cfheader标记提供内容类型。。为了澄清这一点,链接和cfcontent/cfheader应该在单独的脚本中。完全忘记链接。用@BernhardDöbler提到的东西替换它。你需要一个链接。它只是不应该与cfcontent/cfheader在同一个脚本中。@BernhardDöbler-不在下载页面中,确定:-。。触发下载。我可能读错了。。。但事实上,他们把所有的东西都放在同一个页面上,这表明OP可能误解了如何组织事情。我的评论是强调他们需要两个单独的部分,一个是生成下载对话框的东西,即cfheader/cfcontent,另一个是在用户执行操作时触发脚本的东西,即链接或要单击的按钮。您可以使用cfcontent标记:还可以使用cfheader标记来提供内容类型。。为了澄清这一点,链接和cfcontent/cfheader应该在单独的脚本中。完全忘记链接。用@BernhardDöbler提到的东西替换它。你需要一个链接。它只是不应该与cfcontent/cfheader在同一个脚本中。@BernhardDöbler-不在下载页面中,确定:-。。触发下载。我可能读错了。。。但事实上,他们把所有的东西都放在同一个页面上,这表明OP可能误解了如何组织事情。我的评论是强调他们需要两个单独的部分,一个是生成下载对话框的东西,即cfheader/cfcontent,另一个是在用户执行操作时触发脚本的东西,即链接或要单击的按钮。
<cfscript>
   - original script -
</cfscript>
<cfheader name="Content-Disposition" value="attachment; filename=#dateformat(todayDate, "yyyymmdd")#_#TimeFormat(todayDate, "HHmmss")#_Year2013GradApps.xlsx">
<cfcontent type="application/vnd.msexcel">