在Web应用程序中将SQL Server数据导出到Excel

我想从SQL Server中导出数据(通常我使用SqlDataReader ,但是我可以build议)到Excel / CSV文件中,并让Web应用程序的用户将其作为下载。

我想这样做的AJAX风格,所以点击下载不会导致重新加载/回发。

任何人之前做过这个或有一个想法如何?

我认为这个机制会起作用。

有一个HTMLbutton,单击时调用JavaScript函数。

 <input id="downloadbtn" type="button" value="Download" onclick="download();" /> 

函数看起来像这样:

 var download = function() { $.ajax({ url: "datamaker.aspx", context: document.body }).done(function(data) { // parse response data, get file path var filepath = ParseDataToGetFilePath(data); // open the csv file path in a new window (which will begin download) window.open(filepath, '_blank'); }); }; 

在服务器端,“datamaker.aspx”应该连接到SQL Server,并创buildCSV文件。 创buildCSV文件与使用Streamwriter创build任何其他文件一样简单,并在字段之间写入“逗号”。 在这个页面的最后,在响应xml或json中输出文件名。

  { filepath: \path\datafile.csv }