Asp.net mvc 2 如何从控制器运行此代码?
我找到了将数据表导出到excel的代码,但我不知道如何让控制器返回结果 有什么建议吗?这是密码Asp.net mvc 2 如何从控制器运行此代码?,asp.net-mvc-2,Asp.net Mvc 2,我找到了将数据表导出到excel的代码,但我不知道如何让控制器返回结果 有什么建议吗?这是密码 dt = city.GetAllCity();//your datatable string attachment = "attachment; filename=city.xls"; Response.ClearContent(); Response.AddHeader("content-disposition", attachment); Response.
dt = city.GetAllCity();//your datatable
string attachment = "attachment; filename=city.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/vnd.ms-excel";
string tab = "";
foreach (DataColumn dc in dt.Columns)
{
Response.Write(tab + dc.ColumnName);
tab = "\t";
}
Response.Write("\n");
int i;
foreach (DataRow dr in dt.Rows)
{
tab = "";
for (i = 0; i < dt.Columns.Count; i++)
{
Response.Write(tab + dr[i].ToString());
tab = "\t";
}
Response.Write("\n");
}
Response.End();
您只需返回:
public ActionResult DownloadCities()
{
dt = city.GetAllCity();//your datatable
string attachment = "attachment; filename=city.xls";
var writer = new StreamWriter(new MemoryStream());
string tab = "";
foreach (DataColumn dc in dt.Columns)
{
writer.Write(tab + dc.ColumnName);
tab = "\t";
}
writer.Write("\n");
int i;
foreach (DataRow dr in dt.Rows)
{
tab = "";
for (i = 0; i < dt.Columns.Count; i++)
{
writer.Write(tab + dr[i]);
tab = "\t";
}
writer.Write("\n");
}
return File(writer.BaseStream, "application/vnd.ms-excel", "city.xls");
}