下面是一个使用ASP.Net将列表导出为CSV文件的示例代码:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ExportCSV : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 创建一个列表
List personList = new List();
personList.Add(new Person { Name = "John", Age = 30, Email = "john@example.com" });
personList.Add(new Person { Name = "Jane", Age = 25, Email = "jane@example.com" });
personList.Add(new Person { Name = "Mike", Age = 35, Email = "mike@example.com" });
// 设置HTTP头部,指定文件名称和类型
Response.Clear();
Response.ContentType = "text/csv";
Response.AddHeader("Content-Disposition", "attachment;filename=personlist.csv");
// 创建一个CSV写入器
using (var writer = new StreamWriter(Response.OutputStream))
{
// 写入CSV头部
writer.WriteLine("Name,Age,Email");
// 写入每个人的信息
foreach (var person in personList)
{
writer.WriteLine($"{person.Name},{person.Age},{person.Email}");
}
}
// 结束响应
Response.End();
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
}
这段代码通过创建一个Person
类来表示每个人的信息,然后创建一个列表personList
并向其中添加几个人的信息。接下来,设置HTTP头部,将响应的类型设置为"text/csv",并指定文件名为"personlist.csv"。然后,使用StreamWriter
创建一个CSV写入器,并以逗号分隔每个字段的值。最后,将CSV文件写入响应的输出流,并结束响应。