الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

export from gridview to excel

بدأه sylvia_emil في 27 فبراير 2011 · 4 رد · 917 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مساء الخير عليكم

عندى زر يقوم ب تحويل ال gridview الى excel

لكن للاسف يظهر لى الخطأ التالى

Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: Error parsing near '<div>
	<table cells'.

Private Sub ExportToExcel(ByVal strFileName As String, ByVal dg As GridView)
        Response.Clear()
        Response.Buffer = True
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
                Dim oStringWriter As New System.IO.StringWriter
        Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)

        GridView1.RenderControl(oHtmlTextWriter)

        Response.Write(oStringWriter.ToString())
        Response.[End]()

    End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
               ExportToExcel("Report.xls", GridView1)
End Sub
#2

بسم الله الرحمن الرحيم

اخى العزيز

ده مثال لطلبك

الرابط الخاص بي

اتمنى اكون افدتك

#3

الأخ/الأخت / sylvia_emil

السلام عليكم ورحمة الله وبركاته

أول تأكد إنه الكود تبع الزر ما يكون ينفذ Asynchronously، يعني ما يكون داخ Update Panel أو أي نوع من AJAX. خليه يقوم بعملية Post Back، الأمر

Response.End()

حيمنع عملية تحميل الصفحة (Round Trip).

في حالة إذا ما كان في الموضوع AJAX فجرب الكود التالي:

Private Sub ExportToExcel(ByVal strFileName As String, ByVal dg As GridView)
        Response.Clear()
        Response.Buffer = True
        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
                Dim oStringWriter As New System.IO.StringWriter
        Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)

	Dim form as New HtmlForm()

	form.Controls.Add(GridView1)

        form.RenderControl(oHtmlTextWriter)

        Response.Write(oStringWriter.ToString())
        Response.End()

    End Sub

يا ليت لو كان في الكود Syntax Error تقوم بتعديلها، انا ما لي لا جمل ولا ناقة في لغة VB، الفكرة إنك تقوم بإضافة الـ GridView إلى HtmlForm وتقوم بكتابة الـ HtmlForm داخل الـ HtmlTextWriter

أتمنى لك/لكي التوفيق والنجاح وبرمجة سعيدة

تم تعديل هذه المشاركة بواسطة Robatic في 27 فبراير 2011 في 15:18

#4

انا عملت هذا البوتون ولكن كان يطلع لى هذا الخطأ

render control

وتم حلها باضافة

enable eventvalidation="false"

فى راس الصفحة

>%page language ...........
1

مواضيع مشابهة