System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

Anónimo
2015-11-20T15:37:38+00:00

Hola a todos tengo este pequeño problema y no se como solucionarlo.

Error de servidor en la aplicación '/'.


Referencia a objeto no establecida como instancia de un objeto.

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

Error de código fuente:

<br>Línea 305: Throw exp<br>Línea 306: Finally<br>Línea 307: ex.Quit()<br>Línea 308: End Try<br>Línea 309: End Function<br>

Archivo de origen: C:\NPES\ReportesModificados\ServicioPruebas\SalomeReporteEjecucionDetallado.aspx.vb **Línea:**307

Seguimiento de la pila:

<br>[NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.]<br> Prueba2.InsertExcel(DataSet dsDataProject) in C:\NPES\ReportesModificados\ServicioPruebas\SalomeReporteEjecucionDetallado.aspx.vb:307<br> Prueba2.Page_Load(Object sender, EventArgs e) in C:\NPES\ReportesModificados\ServicioPruebas\SalomeReporteEjecucionDetallado.aspx.vb:13<br> System.Web.UI.Control.OnLoad(EventArgs e) +131<br> System.Web.UI.Control.LoadRecursive() +65<br> System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2427<br><br>

Información de versión: Versión de Microsoft .NET Framework:2.0.50727.5466; Versión ASP.NET:2.0.50727.5491 

el siguiente es el codigo

Imports System.Data

Imports System.Text

Imports System.IO

Imports Microsoft.Office.Interop

Partial Class Prueba2

    Inherits System.Web.UI.Page

    Dim StrRutaReportes As String = System.Configuration.ConfigurationSettings.AppSettings("StrRutaReportes")

    Private Conexion As New ConexionBD()

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then

            InsertExcel(GetDataCampagne(GetIdProject(Request.QueryString("strProject"))))

        End If

    End Sub

    ''' <summary>

    ''' Funcion que recibe sentencia sql y retorna un dataset.

    ''' </summary>

    ''' <param name="sSQL"></param>

    ''' <returns>Dataset con la informacion devuelta por la base de datos.</returns>

    ''' <remarks></remarks>

    ''' <autor>Lbernal 01/05/2009</autor>

    Public Function GetIdProject(ByVal strProject As String) As Integer

        Dim sSQL As String

        'Obtener nombre y id del proyecto.

        sSQL = "SELECT id_projet FROM PROJET_VOICE_TESTING where "

        sSQL &= "nom_projet= '" & strProject & "'"

        Return Integer.Parse(Conexion.metTraerDatos(sSQL, "salome").Tables("Table").Rows(0)("id_projet"))

    End Function

    ''' <summary>

    ''' Funcion que recibe sentencia sql y retorna un dataset.

    ''' </summary>

    ''' <param name="sSQL"></param>

    ''' <returns>Dataset con la informacion devuelta por la base de datos.</returns>

    ''' <remarks></remarks>

    ''' <autor>Lbernal 01/05/2009</autor>

    Public Function GetData(ByVal sSQL As String) As DataSet

        Return Conexion.metTraerDatos(sSQL, "salome")

    End Function

    ''' <summary>

    ''' Funcion que recibe Id del proyecto y retorna cas test de la campagne.

    ''' </summary>

    ''' <param name="idProject"></param>

    ''' <returns>Dataset con la informacion devuelta por la base de datos.</returns>

    ''' <remarks></remarks>

    ''' <autor>Lbernal 01/05/2009</autor>

    Public Function GetDataCampagne(ByVal idProject As Integer) As DataSet

        Dim sSQL As New System.Text.StringBuilder

        sSQL.Append("SELECT ")

        sSQL.Append("        projet_voice_testing.nom_projet ")

        sSQL.Append("        ,famille_test.id_famille ")

        sSQL.Append("        , famille_test.nom_famille ")

        sSQL.Append("        , suite_test.id_suite ")

        sSQL.Append("        , suite_test.nom_suite ")

        sSQL.Append("        , campagne_test.id_camp ")

        sSQL.Append("        , campagne_test.nom_camp ")

        sSQL.Append("        , cas_test.id_cas ")

        sSQL.Append("        , cas_test.nom_cas ")

        sSQL.Append("        , action_test.nom_action ")

        sSQL.Append("        , action_test.description_action ")

        sSQL.Append("        , action_test.res_attendu_action ")

        sSQL.Append("        , CASE ea.res_exec_action  ")

        sSQL.Append("           WHEN '' THEN '' ")

        sSQL.Append("           WHEN 'FAILED' THEN 'FALLIDO' ")

        sSQL.Append("           WHEN 'INCONCLUSIF' THEN 'INCONCLUSO' ")

        sSQL.Append("           WHEN 'PASSED' THEN 'CORRECTO' ")

        sSQL.Append("           ELSE '' END res_exec_action ")

        sSQL.Append("        , rec.nom_res_exec_camp ")

        sSQL.Append("        , CASE rec.resultat_res_exec_camp ")

        sSQL.Append("         WHEN 'INCOMPLETE' THEN 'INCOMPLETO' ")

        sSQL.Append("         WHEN 'TERMINEE' THEN 'TERMINADO' ")

        sSQL.Append("         ELSE '' END resultat_res_exec_camp ")

        sSQL.Append("        FROM ")

        sSQL.Append("        .campagne_test ")

        sSQL.Append("        , .cas_test ")

        sSQL.Append("        , .campagne_cas ")

        sSQL.Append("        , .action_test ")

        sSQL.Append("        , .famille_test ")

        sSQL.Append("        , .suite_test ")

        sSQL.Append("        , .projet_voice_testing ")

        sSQL.Append("        , .exec_action ea ")

        sSQL.Append("        , exec_cas ec ")

        sSQL.Append("        , res_exec_camp rec ")

        sSQL.Append("        WHERE campagne_cas.CAMPAGNE_TEST_id_camp = id_camp ")

        sSQL.Append("        AND campagne_cas.CAS_TEST_id_cas = id_cas ")

        sSQL.Append("        AND campagne_test.PROJET_VOICE_TESTING_id_projet = famille_test.PROJET_VOICE_TESTING_id_projet ")

        sSQL.Append("        AND action_test.CAS_TEST_id_cas = id_cas ")

        sSQL.Append("        AND famille_test.PROJET_VOICE_TESTING_id_projet = projet_voice_testing.id_projet ")

        sSQL.Append("        AND suite_test.FAMILLE_TEST_id_famille = famille_test.id_famille ")

        sSQL.Append("        AND cas_test.SUITE_TEST_id_suite = suite_test.id_suite ")

        sSQL.Append("        AND projet_voice_testing.id_projet =  " & idProject)

        sSQL.Append(" AND ea.ACTION_TEST_id_action = action_test.id_action        ")

        sSQL.Append(" AND ea.EXEC_CAS_id_exec_cas= ec.id_exec_cas ")

        sSQL.Append(" AND ec.RES_EXEC_CAMP_id_res_exec_camp = rec.id_res_exec_camp ")

        sSQL.Append("ORDER BY famille_test.ordre_famille ASC, campagne_test.ordre_camp ASC, suite_test.ordre_suite ASC, ")

        sSQL.Append("cas_test.ordre_cas ASC, action_test.num_step_action ASC;")

        Return GetData(sSQL.ToString)

    End Function

    ''' <summary>

    ''' Funcion que recibe Id del proyecto y retorna cas test de la campagne.

    ''' </summary>

    ''' <param name="dsDataProject"></param>

    ''' <returns>Dataset con la informacion devuelta por la base de datos.</returns>

    ''' <remarks></remarks>

    ''' <autor>Lbernal 01/05/2009</autor>

    Public Function InsertExcel(ByVal dsDataProject As DataSet) As Boolean

        Dim drFila As DataRow

        Dim iFilaR As Integer = 0

        Dim idCampagne As Integer = -1

        Dim iHoja As Integer = 1

        Dim iFilaCP As Integer = 1

        Dim strFile As String

        Dim strRuta As String

        '' Crea e inicia una instancia a Excel

        Dim ex As Excel.Application

        Dim objLibroExcel As Excel.Workbook

        '' Crea un objeto WorkBook 

        Try

            ex = New Excel.Application

            '' Crea un objeto WorkSheet

            Dim objHojaExcelResumen As Excel.Worksheet

            Dim objHojaExcelCaso As Excel.Worksheet

            '' Crea un objeto Celda

            Dim objCelda As Excel.Range

            'strRuta = Server.MapPath("plantilla/Excel.xls")

            strRuta = StrRutaReportes & "Excel.xls"

            ''strFile = "plantilla/Excel.xls"

            strFile = StrRutaReportes & "Excel.xls"

            ex.Visible = True

            ex.DisplayAlerts = False

            '' Crea una instancia del Workbooks de Excel

            '' Crea una instancia de la primera hoja de trabajo de Excel

            objLibroExcel = ex.Workbooks.Add()

            objHojaExcelResumen = objLibroExcel.Worksheets(1)

            'objLibroExcel.Worksheets.Item(2).Delete()

            'objLibroExcel.Worksheets.Item(2).Delete()

            objHojaExcelResumen.Name = "Resumen"

            Int(iFilaR = 0)

            For Each drFila In dsDataProject.Tables(0).Rows

                If iFilaR = 0 Then

                    '' Crear el encabezado

                    objHojaExcelResumen.Range("A1:D1").Merge()

                    objHojaExcelResumen.Range("A1:D1").Font.Name = "Arial"

                    objHojaExcelResumen.Range("A1:D1").Font.Bold = True

                    objHojaExcelResumen.Range("A1:D1").Font.Size = 15

                    objHojaExcelResumen.Range("A1:D1").Value = drFila("nom_projet")

                    '' Crear el subencabezado

                    objHojaExcelResumen.Range("A2:D2").Font.Name = "Arial"

                    objHojaExcelResumen.Range("A2:D2").Font.Bold = True

                    objHojaExcelResumen.Range("A2:D2").Font.Italic = True

                    objHojaExcelResumen.Range("A2:D2").Font.Size = 13

                    objCelda = objHojaExcelResumen.Range("A2", Type.Missing)

                    objCelda.Value = "Familia"

                    objCelda = objHojaExcelResumen.Range("B2", Type.Missing)

                    objCelda.Value = "Suite"

                    objCelda = objHojaExcelResumen.Range("C2", Type.Missing)

                    objCelda.Value = "Escenario"

                    objCelda = objHojaExcelResumen.Range("D2", Type.Missing)

                    objCelda.Value = "Caso Prueba"

                    iFilaR = 3

                End If

                If idCampagne = Integer.Parse(drFila.Item("id_cas")) Then

                    '' Asignar los valores de los registros a las celdas

                    objHojaExcelCaso.Cells(iFilaCP, "A") = drFila.Item("nom_action") 'Nombre'

                    objHojaExcelCaso.Cells(iFilaCP, "B") = drFila.Item("description_action") 'Descripcion'

                    objHojaExcelCaso.Cells(iFilaCP, "C") = drFila.Item("res_attendu_action") 'R. Esperado'

                    objHojaExcelCaso.Cells(iFilaCP, "D") = drFila.Item("res_exec_action") 'R. Ejeución'

                    objHojaExcelCaso.Cells(iFilaCP, "E") = drFila.Item("nom_res_exec_camp") 'Ejección Campaña'

                    objHojaExcelCaso.Cells(iFilaCP, "F") = drFila.Item("resultat_res_exec_camp") 'R.Campaña'

                    'objHojaExcelCaso.Cells(iFilaCP, "D") = drFila.Item(8) 'Caso Prueba'

                    iFilaCP = iFilaCP + 1

                Else

                    objHojaExcelResumen.Cells(iFilaR, "A") = drFila.Item("nom_famille") 'Familia'

                    objHojaExcelResumen.Cells(iFilaR, "B") = drFila.Item("nom_suite") 'Suite'

                    objHojaExcelResumen.Cells(iFilaR, "C") = drFila.Item("nom_camp") 'Escenario'

                    objHojaExcelResumen.Cells(iFilaR, "D") = drFila.Item("nom_cas") 'Caso Prueba'

                    If iHoja = 1 Then

                        objHojaExcelCaso = objLibroExcel.Sheets.Add(, objHojaExcelResumen, )

                    Else

                        objHojaExcelCaso.ListObjects.AddEx(Excel.XlListObjectSourceType.xlSrcRange, objHojaExcelCaso.Range("$A$2:$F$" & iFilaCP - 1), _

                             , Excel.XlYesNoGuess.xlYes).Name = "tCaso" & iHoja

                        objHojaExcelCaso.Columns("A:A").EntireColumn.AutoFit()

                        objHojaExcelCaso.Columns("B:B").EntireColumn.AutoFit()

                        objHojaExcelCaso.Columns("C:C").EntireColumn.AutoFit()

                        objHojaExcelCaso.Columns("D:D").EntireColumn.AutoFit()

                        objHojaExcelCaso.Columns("E:E").EntireColumn.AutoFit()

                        objHojaExcelCaso.Columns("F:F").EntireColumn.AutoFit()

                        objHojaExcelCaso.Rows.AutoFit()

                        objHojaExcelCaso = objLibroExcel.Sheets.Add(, objHojaExcelCaso, )

                    End If

                    'objHojaExcelCaso.Visible = Excel.XlSheetVisibility.xlSheetVisible

                    objHojaExcelCaso.Name = "Caso" & iHoja

                    objHojaExcelResumen.Hyperlinks.Add(objHojaExcelResumen.Range("D" & iFilaR), "", objHojaExcelCaso.Name & "!A1", , drFila.Item(8))

                    objHojaExcelCaso.Hyperlinks.Add(objHojaExcelCaso.Range("A1"), "", objHojaExcelResumen.Name & "!F" & iFilaR, , "")

                    objHojaExcelCaso.Range("A1:F1").Merge()

                    objHojaExcelCaso.Range("A1:F1").Font.Name = "Arial"

                    objHojaExcelCaso.Range("A1:F1").Font.Bold = True

                    objHojaExcelCaso.Range("A1:F1").Font.Size = 14

                    objHojaExcelCaso.Range("A1:F1").Font.TintAndShade = 0

                    objHojaExcelCaso.Range("A1:F1").Font.ColorIndex = 0

                    objHojaExcelCaso.Range("A1:F1").Value = drFila("nom_cas")

                    '' Crear el subencabezado

                    objHojaExcelCaso.Range("A2:F2").Font.Name = "Arial"

                    objHojaExcelCaso.Range("A2:F2").Font.Bold = True

                    objHojaExcelCaso.Range("A2:F2").Font.Italic = True

                    objHojaExcelCaso.Range("A2:F2").Font.Size = 12

                    objCelda = objHojaExcelCaso.Range("A2", Type.Missing)

                    objCelda.Value = "Nombre"

                    objCelda = objHojaExcelCaso.Range("B2", Type.Missing)

                    objCelda.Value = "Descripción"

                    objCelda = objHojaExcelCaso.Range("C2", Type.Missing)

                    objCelda.Value = "Resultado Esp"

                    objCelda = objHojaExcelCaso.Range("D2", Type.Missing)

                    objCelda.Value = "Resultado Ejecución"

                    objCelda = objHojaExcelCaso.Range("E2", Type.Missing)

                    objCelda.Value = "Ejecución de Campaña"

                    objCelda = objHojaExcelCaso.Range("F2", Type.Missing)

                    objCelda.Value = "Estado de Ejeución de Campaña"

                    iFilaCP = 3

                    objHojaExcelCaso.Cells(iFilaCP, "A") = drFila.Item("nom_action") 'Nombre'

                    objHojaExcelCaso.Cells(iFilaCP, "B") = drFila.Item("description_action") 'Descripcion'

                    objHojaExcelCaso.Cells(iFilaCP, "C") = drFila.Item("res_attendu_action") 'R. Esperado'

                    objHojaExcelCaso.Cells(iFilaCP, "D") = drFila.Item("res_exec_action") 'R. Esperado'

                    objHojaExcelCaso.Cells(iFilaCP, "E") = drFila.Item("nom_res_exec_camp") 'R. Esperado'

                    objHojaExcelCaso.Cells(iFilaCP, "F") = drFila.Item("resultat_res_exec_camp") 'R. Esperado'

                    'objHojaExcelCaso.Cells(iFilaCP, "D") = drFila.Item(8) 'Caso Prueba'

                    idCampagne = Integer.Parse(drFila.Item("id_cas"))

                    iFilaR = iFilaR + 1

                    iHoja = iHoja + 1

                    iFilaCP = 4

                End If

            Next

            objHojaExcelResumen.ListObjects.AddEx(Excel.XlListObjectSourceType.xlSrcRange, objHojaExcelResumen.Range("$A$2:$D$" & iFilaR - 1), _

                 , Excel.XlYesNoGuess.xlYes).Name = "tResumen"

            objHojaExcelCaso.ListObjects.AddEx(Excel.XlListObjectSourceType.xlSrcRange, objHojaExcelCaso.Range("$A$2:$F$" & iFilaCP - 1), _

                 , Excel.XlYesNoGuess.xlYes).Name = "tCaso" & iHoja

            objHojaExcelCaso.Columns("A:A").EntireColumn.AutoFit()

            objHojaExcelCaso.Columns("B:B").EntireColumn.AutoFit()

            objHojaExcelCaso.Columns("C:C").EntireColumn.AutoFit()

            objHojaExcelCaso.Columns("D:D").EntireColumn.AutoFit()

            objHojaExcelCaso.Columns("E:E").EntireColumn.AutoFit()

            objHojaExcelCaso.Columns("F:F").EntireColumn.AutoFit()

            objHojaExcelCaso.Rows.AutoFit()

            objHojaExcelResumen.Columns("A:A").EntireColumn.AutoFit()

            objHojaExcelResumen.Columns("B:B").EntireColumn.AutoFit()

            objHojaExcelResumen.Columns("C:C").EntireColumn.AutoFit()

            objHojaExcelResumen.Columns("D:D").EntireColumn.AutoFit()

            objHojaExcelResumen.Rows.AutoFit()

            objHojaExcelResumen.Activate()

            ' Save created sheets as a file 

            objLibroExcel.SaveAs(strRuta)

            ' Make sure all objects are disposed

            objLibroExcel.Close()

            ex.Quit()

            Response.Redirect("descarga.aspx?file=" & strFile)

        Catch exp As Exception

            Response.Write(exp.Message)

            Throw exp

        Finally

            ex.Quit()

        End Try

    End Function

End Class

Gracias por cualquier colaboración

Windows para el hogar | Versiones anteriores de Windows | Windows Update

Pregunta bloqueada. Esta pregunta se migró desde la comunidad de soporte técnico de Microsoft. Puedes votar si te parece útil, pero no puedes agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios

1 respuesta

Ordenar por: Lo más útil
  1. Anónimo
    2015-11-20T21:01:15+00:00

    ¡Hola! Qué bueno que cuentes con nosotros en la Comunidad Microsoft.

    Este código de error indica que haz lo siguiente, para que puedas reanudar la actualización correctamente:

    1. Haz clic en inicio, en la barra de búsqueda escribe CMD y en la opción del símbolo del sistema, haz clic derecho y selecciona Ejecutar como administrador.
    2. Ejecuta después Sfc /Scannow
    3. Por ultimo realiza un inicio en limpio. (Puedes ver como se realiza, en el siguiente artículo).

    En caso contrario, te recomiendo que verifiques información relacionada o realices esta misma pregunta en los foros más especializados de Technet. Ya que allí, para este tipo de casos, manejan más detalladamente esta información.     

    Coméntanos como te fue estaremos atento a tus nuevas inquietudes. :)

    ¿Le resultó útil esta respuesta?

    0 comentarios No hay comentarios