从ColdFusion页面导出到Excel文件错误?

下面的代码片段用来下载一个文件,扩展名是xls。 导出后,下载的文件不会在Excel 2013或先前版本中打开,也不会在Office 365中打开,除非我从其属性中解除阻止该文件。 它只在MS Excel 2016中打开。有些请帮助我如何解决这个问题,以及如何使它在默认情况下在“受保护的视图”中打开?

其实昨天我得到了这个问题。 没有HTML标签,它会正确导出。 如果我添加HTML标记,则会导致问题。

<cfheader name="Content-Disposition" value="attachment; filename=xyz.xls"> <cfcontent type="application/vnd.ms-excel"> <cfoutput> <table border='1'> <tr> <td>123</td> <td>456</td> <td>789</td></tr> </table> </cfoutput> 

Astropolashu提到,M $ office安全协议已经发生了一些变化,您无法在Excel中使用XLS(X)扩展名打开HTML文件。 我们的应用程序遇到了同样的问题,不得不使用ColdFusion Spreadsheet函数。 (其实非常酷, 关于它们的文档在Adobe网站上 。)

我会build议一个代码,如:

 <cfset xlsSheet = spreadsheetNew("xyz.xls","no")> <cfset spreadsheetAddRow(xlsSheet,"123,456,789")> <cfset spreadsheetWrite(xlsSheet,"xyz.xls",true)> <cfheader name="Content-Disposition" value="attachment; filename=xyz.xls"> <cfcontent type="application/vnd.ms-excel"> 

顺便说一下,你也可以尝试Ben Nadel制作的自定义标签。 这是一个GIT的链接 。 设置起来有点复杂,但是你可以使用它来制作所有的Excel文件。