none
Error Al Guardar Datos en Excel desde Visual C# RRS feed

  • Pregunta

  • Al momento de Hacer Click en el Botón de Guardar

    Solo sale el Mensaje de Error del Catch

    Y al Buscar datos en el libro de Excel

    Sale el error "

    An unhandled exception of type 'System.NullReferenceException' occurred in AutomatizacionCasos.exe
    Additional information: Referencia a objeto no establecida como instancia de un objeto"


                   

    public partial class agregar : Form
        {
             excel.Application App_Excel;
              excel.Workbook Libro;
              excel.Worksheet Hojas;
              string Archivo_Excel = Application.StartupPath +( @"BDARCHIVO.xlsx");

            public agregar()
                {
                    InitializeComponent();
                }
                private void RegresarButton_Click(object sender, EventArgs e)
                {
                    this.Hide();
                    Archivo_Casos iniciar = new Archivo_Casos();
                    iniciar.Show();
                }
                private void GuardarButton_Click(object sender, EventArgs e)
                {
                    if (TextBox.Text == "" && TextBox.Text == "" && TextBox.Text == "" && TextBox.Text == "" && TextBox.Text == "" && TextBox.Text == "" && TextBox.Text == "" && TextBox.Text == "")
                    {
                        MessageBox.Show("Ingresa los Datos en Los Campos Vacios", "Advertencia Datos Faltantes", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        //Intenta Abrir la base de datos
                        try
                        {
                            App_Excel = new excel.Application();
                             App_Excel.Workbooks.Open(Archivo_Excel);

    // error System Null Exception en hoja 

                            Hojas = App_Excel.ActiveWorkbook.ActiveSheet("Hoja1");
                            Hojas.Activate();
                            App_Excel.Visible = true;
                            Agregar_Datos();
                            MessageBox.Show("Datos Agregados");
                        }
                        catch (Exception)
                        {
                            
                        }
                    }
                }


    sábado, 31 de marzo de 2018 6:04

Respuestas

  • Referencia a objeto no establecida como instancia de un objeto

    Cuando te sale ese error, indica que vale null uno de los objetos que hay en la línea en la que se produce el error, y estás intentando acceder a su contenido (cosa que no es lícita, no se puede acceder al contenido de un null).

    Por eso, siempre que ocurre un error de este tipo, es importante que cuando está parada la ejecución en esa línea en el debugger de Visual Studio pases el puntero del ratón por encima de cada una de las variables (o utilices las ventanitas de Local, Auto e Inmediato), para determinar cuál es la parte exacta que vale null. Eso te indicará dónde se produjo el error, que sería en el lugar del programa en donde se inicializa dicha variable, que no ha sido correctamente inicializada a un valor distinto de null.

    En el caso concreto de la sentencia que indicas, hay varias partes que podrían ser null: Hoja, Range[...], End[...] y Offset(...). Si Hoja es null, indica que no has pasado antes por la parte del programa donde se inicializa la variable Hoja (o que al inicializarla salió null, por ejemplo, si ActiveSheet("Hoja1") no existe). Si es algún otro de los objetos, indicaría que no existe su contenido. Tendrás que usar el Debugger para determinar exactamente en cuál de ellos se produce el fallo.

    sábado, 31 de marzo de 2018 7:12
    Moderador

Todas las respuestas

  • Referencia a objeto no establecida como instancia de un objeto

    Cuando te sale ese error, indica que vale null uno de los objetos que hay en la línea en la que se produce el error, y estás intentando acceder a su contenido (cosa que no es lícita, no se puede acceder al contenido de un null).

    Por eso, siempre que ocurre un error de este tipo, es importante que cuando está parada la ejecución en esa línea en el debugger de Visual Studio pases el puntero del ratón por encima de cada una de las variables (o utilices las ventanitas de Local, Auto e Inmediato), para determinar cuál es la parte exacta que vale null. Eso te indicará dónde se produjo el error, que sería en el lugar del programa en donde se inicializa dicha variable, que no ha sido correctamente inicializada a un valor distinto de null.

    En el caso concreto de la sentencia que indicas, hay varias partes que podrían ser null: Hoja, Range[...], End[...] y Offset(...). Si Hoja es null, indica que no has pasado antes por la parte del programa donde se inicializa la variable Hoja (o que al inicializarla salió null, por ejemplo, si ActiveSheet("Hoja1") no existe). Si es algún otro de los objetos, indicaría que no existe su contenido. Tendrás que usar el Debugger para determinar exactamente en cuál de ellos se produce el fallo.

    sábado, 31 de marzo de 2018 7:12
    Moderador
  • tienes   como contactarte? 
    lunes, 9 de abril de 2018 23:48