PDA

View Full Version : نمايش حروف فارسي در هنگام ارسال گريد به اكسل



kohyar
دوشنبه 30 فروردین 1389, 15:09 عصر
سلام دوستان
من براي ارسال اطلاعات يك گريد ويو به اكسل از كد زير استفاده مي كنم



public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
private void ExportGridView()
{
string attachment = "attachment; filename=CarDocuments.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
private void PrepareGridViewForExport(Control gv)
{
// ¤ںï è뢩é ىںï êي¤ي§ © ©يï گ©ï§ يïي ê£é چè ںè« êçں§ï©¬ںë ©ں §© هںïé ںè«é êï ëيï«ïê
LinkButton lb = new LinkButton();
Literal l = new Literal();
string name = string.Empty;
for (int i = 0; i < gv.Controls.Count; i++)
{
if (gv.Controls[i].GetType() == typeof(LinkButton))
{
l.Text = (gv.Controls[i] as LinkButton).Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(DropDownList))
{
l.Text = (gv.Controls[i] as DropDownList).SelectedItem.Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(CheckBox))
{
l.Text = (gv.Controls[i] as CheckBox).Checked ? "True" : "False";
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
if (gv.Controls[i].HasControls())
{
PrepareGridViewForExport(gv.Controls[i]);
}
}
}
protected void ExportToExcel_Click(object sender, ImageClickEventArgs e)
{
PrepareGridViewForExport(GridView1);
ExportGridView();
}



من از اين كد در چندين پروژه ام استفاه كردم ولي الان توي يك برنامه وقتي كاربر دكمه جستجو رو ميزنه و اطلاعات در گريد نمايش داده ميشه و مي خوام اطلاعات گريد رو با كد فوق به اكسل ارسال كنم اطلاعات فارسي بصورت فاطمه
نمايش داده ميشه
من حتي كدينگ رو روي اينكدينگ و يو تي اف 8 گذاشتم