加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Railscasts第364页 – 导出到Excel:如何在打

发布时间:2020-12-17 03:37:27 所属栏目:百科 来源:网络整理
导读:当使用Ryan Bates的Railscasts Episode#362中关于导出到Excel( https://github.com/railscasts/362-exporting-csv-and-excel)的示例应用程序时,我注意到Excel 2010(在Windows上)在打开我下载的.xls文件时给出了警告消息使用“下载为Excel”链接. 警告如下:
当使用Ryan Bates的Railscasts Episode#362中关于导出到Excel( https://github.com/railscasts/362-exporting-csv-and-excel)的示例应用程序时,我注意到Excel 2010(在Windows上)在打开我下载的.xls文件时给出了警告消息使用“下载为Excel”链接.

警告如下:

“您尝试打开的文件格式与文件扩展名指定的格式不同.在打开文件之前,请验证文件是否已损坏且来自受信任的来源.您要立即打开该文件吗? “

点击“是”,我可以正常打开文件.使用Excel 2011(在Mac上)时,我甚至没有收到警告消息.但我希望能够提供一个Excel文件,当用户从我的网站下载此类文件时,该文件不会提示该警告.

注意:我也尝试将应用程序中的所有引用从.xls替换为.xlsx,但Excel无法打开该文件.它抱怨:“Excel无法打开此文件.文件格式或文件扩展名无效.请验证文件是否已损坏,文件扩展名是否与文件格式匹配.”

我知道像AXLSX(https://github.com/randym/axlsx)这样的宝石,但我希望我可以使用Railscasts方法并快速修复以消除Excel 2010中的警告消息.

非常感谢你的帮助!

解决方法

Railscasts应用程序生成的xls文件实际上是旧Excel 2003 XML格式的XML文件.

最新版本的Excel有一个名为Extension Hardening的功能,当文件格式与文件扩展名不匹配时会生成此警告:

The alert is a new security feature in Excel 2007 called Extension Hardening,which ensures that the file content being opened matches the extension type specified in the shell command that is attempting to open the file. Because the MIME types listed above are associated with the .XLS extension,the file must be in XLS (BIFF8) file format to open without this warning prompt.

为了避免此警告,您必须以与文件扩展名匹配的格式生成Excel文件.在上面的链接中根据建议编辑注册表可能在实践中是不可行的.将扩展名更改为xml也可能有效.

作为xls的替代品writeexcel,xlsx和AXLSX(上面提到的)write_xlsx是不错的选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读