|
|
|
C# Web(ASP.Net) Export Data จาก GridView มาเป็น CSVไม่สามารถอ่านภาษาไทยได้ ครับ!!!!! |
|
|
|
|
|
|
|
Code (C#)
Response.Charset = "windows-874";
Response.ContentEncoding = System.Text.Encoding.GetEncoding(874);
ลองดูครับ
|
|
|
|
|
Date :
2013-06-06 10:27:25 |
By :
C2oWisComing |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้ก็ยังใช้ไม่ได้ อ่ะครับ
|
|
|
|
|
Date :
2013-06-06 11:45:20 |
By :
MM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้ได้ไหมครับ ASCIIEncoding.UTF8
|
|
|
|
|
Date :
2013-06-06 14:08:36 |
By :
teerapat_kan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ยังไม่ได้อ่ะครับ T T
มีใครติดปัญหาแบบนี้มั้งครับ ช่วยแชร์หน่อยครับผม หรือว่าให้เปลี่ยนวิธีการ export จาก DataGrid เป็นวีธีอื่น ช่วยแนะนำด้วยครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2013-06-10 01:22:29 |
By :
MM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สามารถ แก้ไขได้แล้วครับ เลยมาแชร์ครับ
ผมเปลี่ยนมา read จาก Datatable จากโค๊ดนี้ครับ
Code (C#)
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=Reports.xls");
HttpContext.Current.Response.Charset = "windows-874";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-874");
//sets font
HttpContext.Current.Response.Write("<font style='font-size:10.0pt; font-family:Tahoma;'>");
HttpContext.Current.Response.Write("<BR><BR><BR>");
//sets the table border, cell spacing, border color, font of the text, background, foreground, font height
HttpContext.Current.Response.Write("<Table border='1' bgColor='#ffffff' " +
"borderColor='#000000' cellSpacing='0' cellPadding='0' " +
"style='font-size:10.0pt; font-family:Tahoma; background:white;'> <TR>");
//am getting my grid's column headers
int columnscount = grvShow.Columns.Count;
for (int j = 0; j < columnscount; j++)
{ //write in new column
HttpContext.Current.Response.Write("<Td>");
//Get column headers and make it as bold in excel columns
HttpContext.Current.Response.Write("<B>");
HttpContext.Current.Response.Write(grvShow.Columns[j].HeaderText.ToString());
HttpContext.Current.Response.Write("</B>");
HttpContext.Current.Response.Write("</Td>");
}
HttpContext.Current.Response.Write("</TR>");
foreach (DataRow row in table.Rows)
{//write in new row
HttpContext.Current.Response.Write("<TR>");
for (int i = 0; i < table.Columns.Count; i++)
{
HttpContext.Current.Response.Write("<Td>");
HttpContext.Current.Response.Write(row[i].ToString());
HttpContext.Current.Response.Write("</Td>");
}
HttpContext.Current.Response.Write("</TR>");
}
HttpContext.Current.Response.Write("</Table>");
HttpContext.Current.Response.Write("</font>");
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
แต่ยังติดปัญหาอยู่ครับ วิธีแก้คือ write บัดทัดนี้เพิ่มครับ หายเลยครับ export ภาษาไทยได้เลยครับ
Code (C#)
HttpContext.Current.Response.Write("<meta http-equiv='Content-Type' content='text/html; charset=windows-874'>");
write ต่อจากบันทัดนี้ครับ
Code (C#)
HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
หวังว่าจะมีประโยชน์กับ พี่ๆเพื่อนๆน้องๆ ไม่มากก็น้อยน่ะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2013-06-12 12:07:29 |
By :
MM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุโค่ยมาก ขอบคุณครับ
|
|
|
|
|
Date :
2015-05-27 11:03:00 |
By :
MKW |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2015-05-27 12:02:51 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุดยอด ขอบคุณมากครับ
|
|
|
|
|
Date :
2016-07-28 15:07:03 |
By :
singhabeer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หากยังไม่ได้ ลองอันนี้ดูนะครับ
ผมลองอันข้างบนแล้วยังไม่ได้ ลองอันนี้ได้ครับ
Response.AddHeader("content-disposition", "attachment;filename=Export1.csv");
Response.ContentType = "text/csv";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
|
|
|
|
|
Date :
2019-07-23 15:56:02 |
By :
Tk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|