【问题标题】:Export SQL Server data to Excel in a web app在 Web 应用程序中将 SQL Server 数据导出到 Excel
【发布时间】:2012-10-23 18:09:47
【问题描述】:

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

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

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

【问题讨论】:

  • 您在使用 Web 应用程序和 Excel 时会遇到问题。试试这个答案:stackoverflow.com/a/11559077/61339
  • @JeffO 我对 csv 很好。我仍然不确定如何点击下载。

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


【解决方案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 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多