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

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

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

我想采用这种 AJAX 样式,这样点击下载就不会导致重新加载/回传。

有人以前做过这个或者对怎么做有想法吗?

最佳答案

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

有一个 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 }

关于c# - 在 Web 应用程序中将 SQL Server 数据导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13036569/

相关文章:

c# - 将 JSON 字符串反序列化为 C# 复杂类对象

asp.net - 您无权查看此目录或页面。 Azure Web API

sql - 我可以使用什么程序来生成 SQL View /表结构图?

c# - 以编程方式将数据源绑定(bind)到报表服务器中的 rdl - SSRS

c# - 如何获取或计算 Azure 文件/共享或服务的大小

c# - 如何使用 IAccessible 在 Firefox 中访问文档的 HTML

c# - RadGrid 在细节表扩展时刷新

c# - 使用 Paypal 进行多购物车结帐

用于选择包含一组值的所有组的 SQL 语句

c# - Reflection.Emit 和通用类型