【发布时间】:2020-10-30 16:31:10
【问题描述】:
我在按钮单击事件中使用以下代码。与 data 一起,网页 html 正在进入 csv 文件。
var data = new[]
{
new Project { CustomerName = "Big Corp", Title = "CRM updates", Deadline = DateTime.Today.AddDays(-2) },
new Project { CustomerName = "Imaginary Corp", Title = "Sales system", Deadline = DateTime.Today.AddDays(1) }
};
Response.ClearContent();
Response.ContentType = "application/csv";
Response.AddHeader("content-disposition", @"attachment;filename=""export.csv""");
var preamble = Encoding.UTF8.GetPreamble();
Response.OutputStream.Write(preamble, 0, preamble.Length);
using (var writer = new StreamWriter(Response.OutputStream))
using (var csvWriter = new CsvWriter(writer, System.Globalization.CultureInfo.CurrentCulture))
{
//csvWriter.Configuration.Delimiter = Environment.NewLine;
csvWriter.Configuration.HasHeaderRecord = true;
csvWriter.Configuration.AutoMap<Project>();
//csvWriter.WriteHeader<Project>();
//csvWriter.WriteRecords(data);
csvWriter.Configuration.Delimiter = ",";
csvWriter.WriteField("CustomerName");
csvWriter.WriteField("Title");
csvWriter.WriteField("Deadline");
csvWriter.NextRecord();
foreach (var project in data)
{
csvWriter.WriteField(project.CustomerName);
csvWriter.WriteField(project.Title);
csvWriter.WriteField(project.Deadline);
csvWriter.WriteField(Environment.NewLine);
csvWriter.NextRecord();
}
csvWriter.Flush();
writer.Flush();
}
【问题讨论】: