I need to disable the export excel in report viewer in asp.ne
I have debugged , shows "Object reference not set to an instance of an object" in this line
"Dim ListRenderingExtensions As System.Reflection.MethodInfo = m_previewService.FieldType.GetMethod("ListRenderingExtensions", Flags)"

pls help me

  Protected Sub DisableFormat(ByRef viewer As ReportViewer, ByVal formatName As String)

        Const Flags As System.Reflection.BindingFlags = System.Reflection.BindingFlags.NonPublic + System.Reflection.BindingFlags.Public + System.Reflection.BindingFlags.Instance
        Dim m_previewService As System.Reflection.FieldInfo = viewer.LocalReport.GetType().GetField("m_previewService", Flags)
        Dim ListRenderingExtensions As System.Reflection.MethodInfo = m_previewService.FieldType.GetMethod("ListRenderingExtensions", Flags)
        Dim previewServiceInstance As Object = m_previewService.GetValue(viewer.LocalReport)
        Dim extensions As IList = ListRenderingExtensions.Invoke(previewServiceInstance, Nothing)
        Dim name As System.Reflection.PropertyInfo = extensions(0).GetType().GetProperty("Name", Flags)

        Dim extension As Object

        For Each extension In Extensions
            If (String.Compare(name.GetValue(extension, Nothing).ToString(), formatName, True) = 0) Then
                Dim m_isVisible As System.Reflection.FieldInfo = extension.GetType().GetField("m_isVisible", System.Reflection.BindingFlags.NonPublic + System.Reflection.BindingFlags.Instance)
                m_isVisible.SetValue(extension, True)
                Dim m_isExposedExternally As System.Reflection.FieldInfo = extension.GetType().GetField("m_isExposedExternally", System.Reflection.BindingFlags.NonPublic + System.Reflection.BindingFlags.Instance)
                m_isExposedExternally.SetValue(extension, True)
                Exit For
            End If
        Next extension

    End Sub

    Protected Sub ReportViewer1_PreRender(sender As Object, e As EventArgs) Handles ReportViewer1.PreRender
        Call DisableFormat(Me.ReportViewer1, "Excel") ' Disable EXCEL format
    End Sub

Recommended Answers

Is ListRenderingExtensions a method?

Jump to Post

All 2 Replies

Is ListRenderingExtensions a method?

In line 4, has m_previewService been set to null?
Is viewer null? viewer.LocalReport?
viewer.LocalReport.GetType().GetField("m_previewService", Flags)

Let us not overlook the obvious.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.