C sharp - problemas al exportar datos a excel

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 6 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

problemas al exportar datos a excel

Publicado por Alonso (3 intervenciones) el 21/11/2018 22:17:41
Hola!

Empezaré por mostrarles mi código donde le pido al usuario que ingrese los siguientes datos: Nombre,apellido,edad y sexo.
Esos datos se guardaran en Excel.
Tengan en cuenta que el archivo ya tiene datos en él guardados.

mi código es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
void EscribirEnExcel(string pathfile)
{
 
    string nombre="", apellido = "", sexo = "";
    char opt;
    int? Edad = null;
    SLDocument sL = new SLDocument(pathfile);
    SLWorksheetStatistics stats = sL.GetWorksheetStatistics();
    System.Data.DataTable dataTable = new System.Data.DataTable();
    int row = stats.EndRowIndex;
    Console.WriteLine(row);
 
    do {
        Console.WriteLine("Desea añadir más datos? Si(y) No(n) ");
        opt = Convert.ToChar(Console.ReadLine());
        row++;
        switch (opt)
        {
            case 'y':
 
                Console.WriteLine("Escriba su: nombre,apellido,edad y sexo");
            nombre = Console.ReadLine();
            apellido = Console.ReadLine();
            Edad = Convert.ToInt32(Console.ReadLine());
            sexo = Console.ReadLine();
 
            dataTable.Columns.Add("Nombre", typeof(string));
            dataTable.Columns.Add("Apellido", typeof(string));
            dataTable.Columns.Add("Edad", typeof(int));
            dataTable.Columns.Add("Sexo", typeof(string));
 
                //registros
                dataTable.Rows.Add(nombre, apellido, Edad, sexo);
            sL.ImportDataTable(row, 1, dataTable, false);
                sL.Save();
 
            break;
 
            case 'n':
                break;
 
        }
    } while (opt != 'n') ;
 
}

La segunda vez que trato de introducir datos al archivo me muestra el siguiente error:
'La columna 'Nombre' ya pertenece a DataTable.' en esta parte del código

1
dataTable.Columns.Add("Nombre", typeof(string));

Y si quito las columnas, me aparece el siguiente error:
'La matriz de entrada es más larga que el número de columnas en esta tabla.'
en
1
dataTable.Rows.Add(nombre, apellido, Edad, sexo);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problemas al exportar datos a excel

Publicado por miguelZ (7 intervenciones) el 21/11/2018 22:37:15
Que tal,

solo mueve la declaracion de tu columnas fuera del switch
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 6 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

problemas al exportar datos a excel

Publicado por Alonso (3 intervenciones) el 21/11/2018 22:39:01
Y ya? Eso es todo?
jajaja



Ya me estaba desesperando por algo tan simple
una consulta más: Cual sería la forma correcta de usar interop sin tantos conflictos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 218
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

problemas al exportar datos a excel

Publicado por Cesar (82 intervenciones) el 21/11/2018 22:50:46
Hola.

Mi consejo es no usar Interop, y usar mejor librerias 100% .Net (ejem., Aspose, Npoi, etc.).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 6 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

problemas al exportar datos a excel

Publicado por Alonso (3 intervenciones) el 21/11/2018 23:07:49
Por qué obtengo este error? no entiendo

'Referencia a objeto no establecida como instancia de un objeto.'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar