我不太了解整个“导出一个名为Table的HTML表,它被动态绑定到ViewData.Model”,因此我将忽略它并专注于您的Export(List< data> list)方法.顺便说一句,你从来没有真正提到出了什么问题以及在哪里.
我看到你写过“如果他们有Excel导出到excel,如果没有导出到csv” – 我个人只是将它导出为CSV文件,因为excel可以处理csv文件没问题.
因此,考虑到这一点,这将是我的基于您的代码的导出方法.
public void Export(List list)
{
StringWriter sw = new StringWriter();
//First line for column names
sw.WriteLine("\"ID\",\"Date\",\"Description\"");
foreach(DataType item in list)
{
sw.WriteLine(string.format("\"{0}\",\"{1}\",\"{2}\"",
item.ID,
item.Date,
item.Description));
}
Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
Response.ContentType = "text/csv";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.Write(sw);
Response.End();
}