PDA

View Full Version : حرفه ای: چطور خروجی فایل excel از gridview را کاهش بدهم ؟



mojtaba69
چهارشنبه 22 خرداد 1392, 16:53 عصر
با سلام
یه مدتی هست دارم یه سامانه طراحی می کنم ، ولی مشکلی که برخوردم به این صورت هست که خروجی فایل Excel از gridview حجم زیادی داره ، در صورتی که پس از باز کردن همون فایل و ذخیره اون به excel 2003 می بینم که حجم فایل به صورت قابل توجهی کم میشه !
راهنمایی هم این که پس از ایجاد خروجی ، وقتی فایل را با notepad باز می کنم درون فایل به صورت تگ html هست اما وقتی پس از باز کردن فایل به excel 2003 ذخیره می کنم به صورت کاراکترهای فشرده درمیاد .
نمونه کد هم به صورت زیر هست .

public static void Export2Excel(GridView GV,string Filename)
{
try
{


System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + Filename + ".xls");
System.Web.HttpContext.Current.Response.ContentTyp e = "application/vnd.ms-excel";
System.Web.HttpContext.Current.Response.Charset = "";
System.Web.HttpContext.Current.Response.ContentEnc oding = System.Text.Encoding.Unicode;
System.Web.HttpContext.Current.Response.BinaryWrit e(System.Text.Encoding.Unicode.GetPreamble());
StringWriter sr = new StringWriter();
HtmlTextWriter hr = new HtmlTextWriter(sr);
GV.RenderControl(hr);
System.Web.HttpContext.Current.Response.Write(sr.T oString());
System.Web.HttpContext.Current.Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRe quest();
sr.Dispose();
hr.Dispose();
System.Web.HttpContext.Current.Response.End();
}
catch (Exception ex)
{

}
}
که ورودی این تابع یک شیی از گرید ویو هست .
نمونه فایل excel خروجی هم ضمیمه شده .