mvc导出excel文件,下载到服务器端而不是客户端问题分析

需求:将数据在客户端输出为excel文档

问题描述:服务器发布程序后,发现下载的文档出现在服务器端,并没有发送到客户端。

解决方法及知识:

使用开源的NPOI进行导出操作。它是POI的.NET版,在没有安装office的情况下可以进行word、excel等文档操作,是c#读写文档的项目。

原导出函数,导出后只下载到了服务器上,如下

修改后,使用NPOI控制导出excel文件。ds为dataset格式的导出文件内容,函数如下:

原函数没有将附件返回到客户端的代码,如何将一个文件传送给客户端取决于最开始的时候是怎么存储 它的,文件存在数据库中可以用流的方式返回给客户,文件存在硬盘中,需要提供一个超链接也可以是流的方式。

解决方法是将文件内容(book)转化成(以内存作为其支持存储区的)流(ms),通过file()函数下载excel文档 {return File(ms, "application/vnd.ms-excel", "outfile.xls")}

你可能感兴趣的:(mvc导出excel文件,下载到服务器端而不是客户端问题分析)