Tôi đang sử dụng mã bên dưới trên trang aspx trên sự kiện nhấp nút để tạo tệp csv. Điều này hoạt động khi tôi không đặt tên tệp của mình nhưng khi tôi cố gắng sử dụng: Response.AddHeader ("Content-Disposition", "attachment; filename = myfilename.csv");Tạo tệp CSV trong ASP.Net
để đặt tên tệp là myfilename.csv, bảng excel được tạo là ảnh chụp màn hình của trang web thay vì có văn bản trong đó. Ai đó có thể giúp tôi vấn đề này không.
Cảm ơn!
DataGrid dg = new DataGrid();
dg.DataSource = GetData();
htmlTextWriter.WriteLine("<b>Details</b>");
//Get the html for the control
dg.HeaderStyle.Font.Bold = true;
dg.HeaderStyle.BackColor = System.Drawing.Color.Gray;
dg.DataBind();
dg.RenderControl(htmlTextWriter);
//Write the HTML back to the browser.
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
//Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv");
this.EnableViewState = false;
Response.Write(textWriter.ToString());
Response.End();
private System.Data.DataTable GetData()
{
System.Data.DataTable dt = new System.Data.DataTable("TestTable");
dt.Columns.Add("SSN");
dt.Columns.Add("Employee ID");
dt.Columns.Add("Member Last Name");
dt.Columns.Add("Member First Name");
dt.Columns.Add("Patient Last Name");
dt.Columns.Add("Patient First Name");
dt.Columns.Add("Claim No.");
dt.Columns.Add("Service Line No.");
dt.Columns.Add("Error Code");
dt.Columns.Add("Error Message");
dt.Rows.Add(123456789,4455,"asdf","asdf","sdfg","xzcv","dsfgdfg123",1234,135004,"some error");
dt.Rows.Add(123456788,3344,"rth","ojoij","poip","wer","aadf124",1233,135005,"Some Error");
dt.Rows.Add(123456787,2233,"dfg","sdfg","vcxb","cxvb","UHCAL125",1223,135006,"another error");
return dt;
}
thử này .. Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader ("content-disposition", "attachment; filename = Cs_V.xls"); Response.Charset = ""; – Karthik
Biến 'textWriter' có phải là lỗi đánh máy cho' htmlTextWriter' không? –
Cảm ơn Karthi, dint giúp mặc dù. Tôi nghĩ rằng tôi đã có cùng một mã lên đó, tôi uncommented Response.addheader dòng và nó không tạo ra các tập tin. Nick, nhà viết kịch bản là người viết chuỗi, tôi không thêm dòng đó vào mã nơi tôi khai báo người viết văn bản – user1178192