Jump to content

Ayuda con un maldito FOR en C#


Recommended Posts

Hola amigos, resulta que tengo una aplicacion donde debo hacer una evaluacion de una variable y segun su valor le asigna una columna dentro de una hoja de Excel.

for (int x = 0; x < listita.Count; x++)
                {
                    r = x + 2;
                    resp = listita[x].getRespuesta();
                    switch (resp)
                    {
                        case 1:
                            xlWorkSheet.Cells[2,r] = listita[x].getALT_CO().ToString();
                            break;
                        case 2:
                            xlWorkSheet.Cells[3,r] = listita[x].getALT_CO().ToString();
                            break;
                        case 3:
                            xlWorkSheet.Cells[4,r] = listita[x].getALT_CO().ToString();
                            break;
                        case 4:
                            xlWorkSheet.Cells[5,r] = listita[x].getALT_CO().ToString();
                            break;
                        case 5:
                            xlWorkSheet.Cells[6,r] = listita[x].getALT_CO().ToString();
                            break;
                    }
                }

lo que sale ahi es que el For me recorre una lista<> de elementos donde me obtiene el numero de items,

luego la variable r es la fila donde tiene que ubicar el valor y resp es el valor que contiene el objeto dentro de la lista, el problema esta cuando hecho a correr el programa, el for segun el debug corre bien, no veo problemas pero cuando abro el archivo excel el maldito me deja 2 valores dentro de la misma fila... entonces nose como controlar ese recorrido.. no se si existe alguna forma de control? de ser asi me pueden ayudar.

Muchas Gracias.

Link to comment
Share on other sites

:mmm: Para empezar, parece que estás usando convenciones de Java en una aplicación C# :huasonto: , o sea, el método getRespuesta y el getALT_CO tienen pinta de propiedades (sí, en C# existen las propiedades), así que deberías cambiar todos esos métodos del tipo getAlgo y setAlgo por propiedades.

 

Segundo, no veo que sea necesario el switch.

 

Intenta usar la propiedad Value2 para cambiar el valor de una celda. Ejemplo:

xlWorkSheet.Cells[2,3].Value2 = listita[x].getALT_CO().ToString();
Por último, debiste haber subido 2 capturas, una con la hoja de cálculo que obtienes cuando ejecutas tu programa y otra que muestre los datos como tú esperas que aparezcan. No tengo tanta imaginación como para imaginarme esas cosas basándome sólo en un fragmento de código como el que subiste.

 

 

:huasonto:

Edited by susodicho
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...