none
Como llenar de ceros mi tabla de xml automaticamente cuando los campos son nulos? RRS feed

  • Pregunta

  • //Hola Compañeros.Necesito llenar de ceros automáticamente un archivo de Excel cuando lo voy a enviar xml.

    Lo que veo es que tiene campos vacios en la tabla y esto hacer que mis datos se corran hacia la izquierda cuando encuentra un campo vacio, el dato de la columna 2 queda en la 1 si esta vacia la 1. necesito llenar de 0 estos campos para que no se corran, envio código donde estoy avaluando los campos vacios, pero como los lleno con ceros.

     public static void ObtenerActivos(Worksheet worksheet, SharedStringTable st, int tipo)
            {
                if (tipo == 1)
                {
                    var results = new List<AF_ActivoFijo>();
                    var resulUbicacion = new List<AF_UbicacionActivoFijo>();
                    var dataRows = from row in worksheet.Descendants<Row>()
                                   where row.RowIndex > 1
                                   select row;

                                for (int i = 0; i < row.Descendants<Cell>().Count(); i++)
                                if (cell.CellValue != null)
                                {

                               QUE VA AQUI?????? PARA PONER CEROS. EL FOR ESTA BIEN??     
                                }

                    foreach (var row in dataRows)
                    {
                        var workSheets = new List<AF_ActivoFijo>();
                        var textValues = new List<string>();
                        foreach (var cell in from cell in row.Descendants<Cell>() where cell.CellValue != null select cell)
                        {

      string value = cell.CellValue.InnerXml;
                                    if (cell.DataType != null && cell.DataType.HasValue && cell.DataType == CellValues.SharedString)
                                    {

                                        textValues.Add(st.ChildElements[int.Parse(cell.CellValue.InnerText)].InnerText);
                                        Console.WriteLine(cell.CellValue.InnerText);
                                    }
                               
                                else
                                    textValues.Add(cell.CellValue.InnerText);
                        }
                        var textArray = textValues.ToList();
                        if (textArray.Count() <= 0) continue;

    ...... tengo mi otro contolador del Excel. pero aquí es donde no encuntra el objeto en el xml

    Ejemplo.. que las celdas

    1 portatil 11 111 2 10000 0 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 0 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 0 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1                             12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 12000 1200
    1 portatil 11 111 2 10000 12000 1200




    ejemplo

    • Editado Erik Puentes miércoles, 22 de enero de 2014 22:23
    miércoles, 22 de enero de 2014 20:12

Todas las respuestas

  • Hola.

    Por lo que veo en el bloque if, creo que la condición es justo la contraria:

                                if (cell.CellValue != null)
                                {

                               QUE VA AQUI?????? PARA PONER CEROS. EL FOR ESTA BIEN??     
                                }

    Si lo que quieres es modificar las celdas que están nulas, el if debería ser

                                if (cell.CellValue == null)
                                {

                                       // Supongo que deberás poner algo como cell.CellValue.InnerText = 0;

                                }


    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    Nokia Developer Champion
    MCTS | SharePoint 2010, Application Development
    MCTS | SharePoint 2010, Configuring
    MCSD | Web Applications
    Twitter | @saintwukong

    jueves, 23 de enero de 2014 3:34