我正在将gridview导出到excel文件,它打开就好了.唯一的问题是,每次打开excel文件时都会弹出此警告:
您尝试打开的文件< >格式与文件扩展名指定的格式不同.在打开文件之前,请验证文件是否已损坏且是否来自受信任的源.你想现在打开文件吗? 我正在使用的代码:
HttpContext.Current.Response.Clear(); HttpContext.Current.response.addheader("content-disposition",string.Format("attachment; filename={0}","Single_Raw.xls")); HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter htw = new HtmlTextWriter(sw)) { // some code HttpContext.Current.Response.Write(sw.ToString()); HttpContext.Current.Response.End(); } }
解决方法
这是因为Excel知道这不是一个真正的Excel文件,即使你用.xls扩展名命名它.在过去,为了避免这种警告,我使用了Microsoft.Office.Interop.Excel引用来构建我的输出文件.然后,当您完成后,您将拥有合法的Excel文件.
Microsoft.Office.Interop.Excel
编辑:我用谷歌搜索并发现了微软的this suggestion,但它要求你破解客户端计算机的注册表(可能不可行).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。