从ASP.NET网站将查询结果发送到Excel

Jim*_*Jim 5 asp.net excel

我们允许用户在我们的网站上创建即席查询.我们希望用户选择他们的条件,然后单击"提交"并将结果自动流式传输到Excel.我有应用程序填充DataTable,然后使用数据表创建制表符分隔的字符串.问题是要做到这一点.

将数据流式传输到Excel的最佳方法是什么?在单击提交按钮后,我们不必让用户关闭空窗口.

Ste*_*ton 10

将页面的文件类型更改为excel,并仅将构建表所需的HTML流式传输到页面.来自这里的代码

//for demo purpose, lets create a small datatable & populate it with dummy data
System.Data.DataTable workTable = new System.Data.DataTable();

//The tablename specified here will be set as the worksheet name of the generated Excel file. 
workTable.TableName = "Customers";
workTable.Columns.Add("Id");
workTable.Columns.Add("Name");
System.Data.DataRow workRow;

for (int i = 0; i <= 9; i++)
{
workRow = workTable.NewRow();
workRow[0] = i;
workRow[1] = "CustName" + i.ToString();
workTable.Rows.Add(workRow);
}

//...and lets put DataTable2ExcelString to work
string strBody = DataTable2ExcelString(workTable);

Response.AppendHeader("Content-Type", "application/vnd.ms-excel");
Response.AppendHeader("Content-disposition", "attachment; filename=my.xls");
Response.Write(strBody);
Run Code Online (Sandbox Code Playgroud)