首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ColdFusion11: CFContent不编写可操作的excel文件

ColdFusion11: CFContent不编写可操作的excel文件
EN

Stack Overflow用户
提问于 2014-12-03 17:10:06
回答 1查看 1.7K关注 0票数 4

我试图在ColdFusion中完成一个简单的任务:生成一个excel文件并将其下载到浏览器中。我有这个:

代码语言:javascript
复制
<cfset local.sheet = SpreadsheetNew("My Spreadsheet", "true") />
<cfset SpreadsheetAddRow(local.sheet, "Col1,Col2,Col3") />

<cfheader name="content-disposition" value="attachment;filename=NiceName.xlsx" />
<cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#spreadsheetReadBinary(local.sheet)#" reset="true" />

它在CF9上确实工作得很好,但在CF11上却没有。当打开文件时,它会说:

Datei 'NiceName.xlsx‘kann von ge ffnet werden,da das Dateiformat Die Dateierweiterungültig ist。berprüfen Sie,ob die Datei besch digt ist und ob die Dateierweiterung dem Dateiformat。

这意味着:

Excel无法打开文件'NiceName.xlsx',因为文件格式或-ending无效。请验证,如果文件已损坏,文件结束是否与文件格式相对应.

我可以:

  • <cfmailparam>工作表并通过邮件接收文件。
  • <cfspreadsheet action="write">表并在服务器上接收文件。

在这两种情况下,文件都是可读的。

我试过:

  • <cfspreadsheet action="write">的工作表,然后使用<cfcontent file="#pathToFile#">,这是行不通的。
  • 检查我的IIS是否有URL重写规则。
  • 检查我的IIS是否为.xlsx MIME类型。和我的代码一样。
  • 最后添加了一个<cfabort>,这样其他的事情就不会发生了。

但什么都帮不上忙。

我在用:

  • ColdFusion 11 (11,0,0,289974)与Tomcat 7.0.52.0
  • Windows 2008 R2标准64位
  • Microsoft Office 2013
  • IIS 7.5.7600.16385
EN

回答 1

Stack Overflow用户

发布于 2014-12-03 17:32:58

尝试使用application/vnd.ms-excel,而不是openoffice。这将是excel特定的mime类型。使用openoffice的人会自动转换,因为他们用这种方式设置了它。这是我唯一能看到的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27277617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档