微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何生成Excel文件xls并将其保存到服务器位置,而无需使用ColdFusion下载

如何解决如何生成Excel文件xls并将其保存到服务器位置,而无需使用ColdFusion下载

我们有一个页面正在生成动态内容,并且根据用户的选择输出格式。

例如,如果用户选择了HTML格式,则页面作为HTML页面出现。效果和PDF格式一样好。

挑战在于,如果用户选择Excel格式,而我们要求将Excel文件保存到服务器。

用户选择Excel格式时,文件以excel格式生成就很好了,但是,不是将其保存到服务器,而是显示“另存为”对话框,但是,正如我提到的,我们需要将文件保存到服务器。

任何输入都将不胜感激。 我们正在使用CF 2016。

代码示例:

<cfsavecontent variable="Page"> 
    <cfif CompareNoCase(FORM.format,"xls")>
       <cfsetting enablecfoutputonly="Yes">
       <cfheader name="Content-disposition" value="attachment;filename=""#VARIABLES.vcFilename#""">
       <cfcontent type="application/vnd.msexcel">
    <cfif>
    <table><tr><td><cfoutput>#somecontent#</cfoutput></td></tr>...</table>
</cfsavecontent>
<cfif CompareNoCase(FORM.format,"xls")>
   <cffile 
            action="write" 
            destination="d:\somedir\"
            file="#VARIABLES.vcFileName#" 
            output="#Page#" 
            nameconflict="overwrite">
<cfif>

解决方法

正如SOS在评论中提到的那样,他删除标题的建议起到了作用。 另外,为了保存excel文件(.xls),在cffile中添加了以下内容: accept =“ application / vnd.ms-excel,application / xls”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。