2

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

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

有人以前做过这个或知道如何做吗?

4

1 回答 1

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 }
于 2012-10-23T18:26:32.633 回答