مهدی رحیم زاده
یک شنبه 10 فروردین 1393, 01:10 صبح
سلام خدمت همه اساتید محترم
بنده با استفاده از این کد دارم داده های یک دیتا تیبل رو به فایل اکسل تبدیل میکنم :
HttpContext.Current.Response.Clear();
//HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; // "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-1254"; // utf-8
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
HttpContext.Current.Response.Write(Encoding.Unicod e.GetPreamble());
// HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Unicode; //System.Text.Encoding.GetEncoding("utf-8");
//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:arial; background:white;'> <TR>");
//am getting my grid's column headers
int columnscount = dt1.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(dt1.Columns[j].ColumnName.Trim());
HttpContext.Current.Response.Write("</B>");
HttpContext.Current.Response.Write("</Td>");
}
HttpContext.Current.Response.Write("</TR>");
foreach (DataRow row in dt1.Rows)
{
//write in new row
HttpContext.Current.Response.Write("<TR>");
for (int i = 0; i < dt1.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.Close();
HttpContext.Current.Response.End();
اما کاراکتر های فارسی رو به صورت نا مفهوم نمایش میده :
±Ú©Ù†Ø§Ù† شرکت تکتØ
دوستان تا حالا به این مشکل برخورد نکردن؟
ممنون میشم اگر راهکاری دارن
با تشکر
بنده با استفاده از این کد دارم داده های یک دیتا تیبل رو به فایل اکسل تبدیل میکنم :
HttpContext.Current.Response.Clear();
//HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; // "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-1254"; // utf-8
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
HttpContext.Current.Response.Write(Encoding.Unicod e.GetPreamble());
// HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Unicode; //System.Text.Encoding.GetEncoding("utf-8");
//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:arial; background:white;'> <TR>");
//am getting my grid's column headers
int columnscount = dt1.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(dt1.Columns[j].ColumnName.Trim());
HttpContext.Current.Response.Write("</B>");
HttpContext.Current.Response.Write("</Td>");
}
HttpContext.Current.Response.Write("</TR>");
foreach (DataRow row in dt1.Rows)
{
//write in new row
HttpContext.Current.Response.Write("<TR>");
for (int i = 0; i < dt1.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.Close();
HttpContext.Current.Response.End();
اما کاراکتر های فارسی رو به صورت نا مفهوم نمایش میده :
±Ú©Ù†Ø§Ù† شرکت تکتØ
دوستان تا حالا به این مشکل برخورد نکردن؟
ممنون میشم اگر راهکاری دارن
با تشکر