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

如何在asp.net c#上创建一个真正的XLS文件?

发布时间:2020-12-16 03:28:24 所属栏目:asp.Net 来源:网络整理
导读:我有这个代码在.xls文件中提取一个表到计算机: // I have a string which contains HTML table codes,named as excelTableHttpResponse response = HttpContext.Current.Response;response.Clear();response.AddHeader("Content-Disposition",String.Format
我有这个代码在.xls文件中提取一个表到计算机:

// I have a string which contains HTML table codes,named as excelTable

HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.AddHeader("Content-Disposition",String.Format("Attachment;Filename=file.xls",));
response.Buffer = true;
response.ContentEncoding = System.Text.Encoding.Default;
response.ContentType = "application/vnd.ms-excel";
response.Write(excelTable);
response.End();

我已经看到这不是一个真正的.xls文件.我可以在记事本中打开它并查看我的标准html表格代码.

现在我明白定义ContentType是不够的.那么我还能做些什么来生成纯.xls或.xlsx文件呢?或者我当然应该使用OpenXML,Interop等Excel库吗?

解决方法

必须发回实际的XLS / XLSX数据 – 即用库(例如 EEPlus)或其他合适的源生成的数据.

这种常见的黑客/方法有效,因为Excel“知道如何阅读HTML”.它实际上并没有将HTML转换为XSL / XLSX,尽管它可以在Excel加载后保存为新的电子表格.

更改内容类型将不会对数据产生影响,而是有效地阻止此方法工作:内容类型用于关联将用于打开/读取数据的程序(即Excel).

是的:要生成真正的XLS / XLSX文档,请使用库.

(编辑:李大同)

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

    推荐文章
      热点阅读