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

时间:2012-10-23 18:09:47

标签: c# asp.net sql-server ajax excel

我想将数据从SQL Server拉(通常我使用SqlDataReader,但我愿意接受建议)导出到Excel / CSV文件中,并让网络应用程序的用户将其作为下载。

我想做这个AJAX风格,因此点击下载不会导致重新加载/回发。

之前有人这样做过或者对如何做到了解?

1 个答案:

答案 0 :(得分:1)

我认为这种机制可行。

点击一个HTML按钮调用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,并创建CSV文件。创建CSV文件就像使用streamwriter创建任何其他文件一样简单,并在字段之间写入“逗号”。在本页末尾,在响应xml或json中输出文件名。

     { filepath: \path\datafile.csv }