none
Ayuda con metodo para exportar a excel con ClosedXML RRS feed

  • Pregunta

  •  que tal amigo resulta que quiero exportar un DT a excel que contiene 2 hojas y para lo cual utilizo el componente ClosedXml, para lo cual uso el siguiente código.

      public ActionResult ExportContratosDetalle_01()
                {
                    string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    string fileName = $"Contratos-{date}{Month}{Year}{Hora}{Minuto}{Segundo}";               
                try
                    {
                    using (XLWorkbook wb = new XLWorkbook())
                    {
                        DataTable dtMaestro = (DataTable)Session["SessionMtoContratosResumen"];
                        DataTable dtDetalle = (DataTable)Session["SessionMtoContratosDetalle"];
    
    
    
                        var ws = wb.Worksheets.Add("ResumenProcedimientos");
                        if (dtMaestro.Rows.Count > 0)
                        {
    
                            ws.Cell("A1").Value = "MtoContratoId";
                            ws.Cell("B1").Value = "Ejercicio";
                            ws.Cell("C1").Value = "NoContrato";
                            ws.Cell("D1").Value = "Procedimiento";
                            ws.Cell("E1").Value = "Razon\nSocial";
                            ws.Cell("F1").Value = "Monto Máximo\nContrato";
                            ws.Cell("G1").Value = "Monto Mínimo\nContrato";
                            ws.Cell("H1").Value = "Fecha\nEmision";
                            ws.Cell("I1").Value = "Fecha\nTerminacion";
    
                            // Adding DataRows.
    
                            for (int i = 0; i < dtMaestro.Rows.Count; i++)
                            {
    
                                ws.Cell("A" + (i + 2)).Value = dtMaestro.Rows[i]["MtoContratoId"].ToString();
                                ws.Cell("B" + (i + 2)).Value = dtMaestro.Rows[i]["Anio"].ToString();
                                ws.Cell("C" + (i + 2)).Value = dtMaestro.Rows[i]["NoContrato"].ToString();
                                ws.Cell("D" + (i + 2)).Value = dtMaestro.Rows[i]["EventoCompranet"].ToString();
                                ws.Cell("E" + (i + 2)).Value = dtMaestro.Rows[i]["RazonSocial"].ToString();
                                ws.Cell("F" + (i + 2)).Value = dtMaestro.Rows[i]["MontoContrato"] != DBNull.Value ? Convert.ToDecimal(dtMaestro.Rows[i]["MontoContrato"].ToString()) : 0;
                                ws.Cell("G" + (i + 2)).Value = dtMaestro.Rows[i]["MontoMinimo"] != DBNull.Value ? Convert.ToDecimal(dtMaestro.Rows[i]["MontoMinimo"].ToString()) : 0;
                                ws.Cell("H" + (i + 2)).Value = dtMaestro.Rows[i]["FechaEmision"].ToString();
                                ws.Cell("I" + (i + 2)).Value = dtMaestro.Rows[i]["FechaTerminacion"].ToString();
    
                                ws.Cell("F" + (i + 2)).Style.NumberFormat.SetFormat("#,##0.#0");
                                ws.Cell("G" + (i + 2)).Style.NumberFormat.SetFormat("#,##0.#0");
                                ws.Cell("H" + (i + 2)).Style.DateFormat.SetFormat("dd/mm/yyyy");
                                ws.Cell("I" + (i + 2)).Style.DateFormat.SetFormat("dd/mm/yyyy");
    
                            }
                        }
    
    
    
                        var rango = ws.Range("A1:I1"); //Seleccionamos un rango
                                                       //rango.Style.Border.SetOutsideBorder(XLBorderStyleValues.Thick); //Generamos las lineas exteriores
                                                       //rango.Style.Border.SetInsideBorder(XLBorderStyleValues.Medium); //Generamos las lineas interiores
                        rango.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; //Alineamos horizontalmente
                        rango.Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;  //Alineamos verticalmente
                        rango.Style.Font.Bold = true;
                        rango.Style.Fill.BackgroundColor = XLColor.Orange;
                        rango.Style.Alignment.WrapText = true;
    
                        //Detalle de Procedimiento
                        var d = wb.Worksheets.Add("Detalle");
    
    
                        if (dtDetalle.Rows.Count != 0)
                        {
    
                            d.Cell("A1").Value = "No Contrato";
                            d.Cell("B1").Value = "Monto\nMáximo";
                            d.Cell("C1").Value = "Monto\nMínimo";
                            d.Cell("D1").Value = "Procedimiento";
                            d.Cell("E1").Value = "Razon\nSocial";
                            d.Cell("F1").Value = "Rfc\nSocial";
                            d.Cell("G1").Value = "Gpo";
                            d.Cell("H1").Value = "Gen";
                            d.Cell("I1").Value = "Esp";
                            d.Cell("J1").Value = "Dif";
                            d.Cell("K1").Value = "Var";
                            d.Cell("L1").Value = "Descripcion";
                            d.Cell("M1").Value = "Cantidad\nMáxima";
                            d.Cell("N1").Value = "Cantidad\nMínima";
                            d.Cell("O1").Value = "Cantidad\nEjercida";
                            d.Cell("P1").Value = "Precio\nClave";
                            d.Cell("Q1").Value = "Descuento";
                            d.Cell("R1").Value = "Precio\nNeto";
    
    
    
    
                            for (int i = 0; i < dtDetalle.Rows.Count; i++)
                            {
                               
    
                                d.Cell("A" + (i + 2)).Value = dtDetalle.Rows[i]["NoContrato"].ToString();
                                d.Cell("B" + (i + 2)).Value = dtDetalle.Rows[i]["MontoContrato"].ToString();
                                d.Cell("C" + (i + 2)).Value = dtDetalle.Rows[i]["MontoMinimo"].ToString();
                                d.Cell("D" + (i + 2)).Value = dtDetalle.Rows[i]["EventoCompranet"].ToString();
                                d.Cell("E" + (i + 2)).Value = dtDetalle.Rows[i]["RazonSocial"].ToString();
                                d.Cell("F" + (i + 2)).Value = dtDetalle.Rows[i]["RfcProveedor"].ToString();
                                d.Cell("G" + (i + 2)).Value = dtDetalle.Rows[i]["Gpo"].ToString();
                                d.Cell("H" + (i + 2)).Value = dtDetalle.Rows[i]["Gen"].ToString();
                                d.Cell("I" + (i + 2)).Value = dtDetalle.Rows[i]["Esp"].ToString();
                                d.Cell("J" + (i + 2)).Value = dtDetalle.Rows[i]["Dif"].ToString();
                                d.Cell("K" + (i + 2)).Value = dtDetalle.Rows[i]["Var"].ToString();
                                d.Cell("L" + (i + 2)).Value = Encoding.UTF8.GetBytes(dtDetalle.Rows[i]["Descripcion"].ToString());
                                d.Cell("M" + (i + 2)).Value = dtDetalle.Rows[i]["CantMax"] != DBNull.Value ? Convert.ToDouble(dtDetalle.Rows[i]["CantMax"].ToString()) : 0;
                                d.Cell("N" + (i + 2)).Value = dtDetalle.Rows[i]["CantMin"] != DBNull.Value ? Convert.ToDouble(dtDetalle.Rows[i]["CantMin"].ToString()) : 0;
                                d.Cell("O" + (i + 2)).Value = dtDetalle.Rows[i]["CantidadEjercidad"] != DBNull.Value ? Convert.ToDouble(dtDetalle.Rows[i]["CantidadEjercidad"].ToString()) : 0;
                                d.Cell("P" + (i + 2)).Value = dtDetalle.Rows[i]["PrecioClave"] != DBNull.Value ? Convert.ToDouble(dtDetalle.Rows[i]["PrecioClave"].ToString()) : 0;
                                d.Cell("Q" + (i + 2)).Value = dtDetalle.Rows[i]["Descuento"] != DBNull.Value ? Convert.ToDouble(dtDetalle.Rows[i]["Descuento"].ToString()) : 0;
                                d.Cell("R" + (i + 2)).Value = dtDetalle.Rows[i]["PrecioNeto"] != DBNull.Value ? Convert.ToDouble(dtDetalle.Rows[i]["PrecioNeto"].ToString()) : 0;
    
                                d.Cell("G" + (i + 2)).SetDataType(XLCellValues.Text);
                                d.Cell("H" + (i + 2)).SetDataType(XLCellValues.Text);
                                d.Cell("I" + (i + 2)).SetDataType(XLCellValues.Text);
                                d.Cell("J" + (i + 2)).SetDataType(XLCellValues.Text);
                                d.Cell("K" + (i + 2)).SetDataType(XLCellValues.Text);
                                d.Cell("L" + (i + 2)).SetDataType(XLCellValues.Text);
    
                                d.Cell("M" + (i + 2)).Style.NumberFormat.SetFormat("#,##0");
                                d.Cell("N" + (i + 2)).Style.NumberFormat.SetFormat("#,##0");
                                d.Cell("O" + (i + 2)).Style.NumberFormat.SetFormat("#,##0");
                                d.Cell("P" + (i + 2)).Style.NumberFormat.SetFormat("#,##0.#0");
                                d.Cell("Q" + (i + 2)).Style.NumberFormat.SetFormat("#,##0.#0");
                                d.Cell("R" + (i + 2)).Style.NumberFormat.SetFormat("#,##0.#0");
    
                            }
                        }
    
    
                        Response.Clear();
                        Response.Buffer = true;
                        Response.Charset = "";
                        Response.ContentEncoding = Encoding.UTF8;
                        /*Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                        Response.AddHeader("content-disposition", "attachment; filename=BookingList.xlsx");*/
    
                        using (var stream = new MemoryStream())
                        {
                            wb.SaveAs(stream);
                            var content = stream.ToArray();
                            return File(
                                content,
                                contentType,
                                fileName);
                        }
                    }
    
                    }
                    catch (Exception ex)
                    {                    
                        return null;
                    }
    
                }
                #endregion

    Los problemas que presenta mi exportación son:

    1.- el libro 1 sin problemas.

    para el libro 2:

    tengo es expotar el campo de descripición, dicha descripcion tiene muchos caracteres algo asi de 8,00  como se muestra en el siguiente ejemplo:

    FORMULA PARA LACTANTES CON NECESIDADES ESPECIALES DE NUTRICION DE 30 KCAL/OZ FL LIQUIDO. VITAMINAS VITAMINA A (EXPRESADOS EN RETINOL). MINIMO/100 KCAL S. E., MAXIMO/100 KCAL 3 333 U.I. O 1 000MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTO S EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; VITAMINA D MINIMO/100 KCAL S. E., MAXIMO/100 KCAL 9,1MICROGRAMOS O 364 U.I., NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; VITAMINA C (AC . ASCORBICO) MINIMO/100 KCAL 8,3 MG, MAXIMO/100 KCAL 50 MG, NSR/100 KCAL EN CAS O DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; VITAMINA B, TIAMINA (B1) MINIMO/100 KCAL 30MICROGRAMOS, MAXIMO/100 KCAL 275MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; RIBOFLAVINA (B2) MINIMO/100 KCAL 80MICROGRAMOS, MAXIMO/100 KCAL 620MI CROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEG UIR NSR MAS BAJO - ; NIACINA (B3) MINIMO/100 KCAL 340MICROGRAMOS, MAXIMO/100 KC AL 5 000MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURA RSE CONSEGUIR NSR MAS BAJO - ; PIRIDOXINA (B6) MINIMO/100 KCAL 30MICROGRAMOS, M AXIMO/100 KCAL 273MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBER IA PROCURARSE CONSEGUIR NSR MAS BAJO - ; ACIDO FOLICO (B9) MINIMO/100 KCAL 15MI CROGRAMOS, MAXIMO/100 KCAL 91MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; ACIDO PANTOTENICO (B5) MINI MO/100 KCAL 300 G, MAXIMO/100 KCAL 1 900 G, NSR/100 KCAL EN CASO DE PRODUCTOS E N POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; CIANOCOBALAMINA (B12) MIN IMO/100 KCAL 0,08 G, MAXIMO/100 KCAL 0,73 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; BIOTINA (H) MINIMO/100 K CAL 1 G, MAXIMO/100 KCAL 37 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBER IA PROCURARSE CONSEGUIR NSR MAS BAJO - ; VITAMINA K1 MINIMO/100 KCAL 4 G, MAXIM O/100 KCAL 25 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; VITAMINA E (ALFA TOCOFEROL EQUIVALENTE) MINIMO/100 K CAL 0,9 MG, MAXIMO/100 KCAL 10 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO D EBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; NUTRIMENTOS INORGANICOS (MINERALES Y ELEMENTOS TRAZA) SODIO (NA) MINIMO/100 KCAL 37 MG, MAXIMO/100 KCAL 105 MG, N SR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; POTASIO (K) MINIMO/100 KCAL 52 MG, MAXIMO/100 KCAL 177 MG, NSR/100 KCA L EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; C LORO (CL) MINIMO/100 KCAL 56 MG, MAXIMO/100 KCAL 226 MG, NSR/100 KCAL EN CASO D E PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; CALCIO (CA) MINIMO/100 KCAL 67 MG, MAXIMO/100 KCAL 200 MG, NSR/100 KCAL EN CASO DE PRODUCTO S EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; FOSFORO (P) MINIMO/100 KCAL 40 MG, MAXIMO/100 KCAL 127 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; LA RELACION CA:P MINIMO/100 KCAL 1:1, MAXIMO/100 KCAL 2:1, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA P ROCURARSE CONSEGUIR NSR MAS BAJO - ; MAGNESIO (MG) MINIMO/100 KCAL 5,3 MG, MAXI MO/100 KCAL 17 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARS E CONSEGUIR NSR MAS BAJO - ; HIERRO (FE) MINIMO/100 KCAL 0,9 MG, MAXIMO/100 KCA L 3,64 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEG UIR NSR MAS BAJO - ; YODO (I) MINIMO/100 KCAL 6MICROGRAMOS, MAXIMO/100 KCAL 54, 5MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CON SEGUIR NSR MAS BAJO - ; COBRE (CU) MINIMO/100 KCAL 61MICROGRAMOS, MAXIMO/100 KC AL 250MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARS E CONSEGUIR NSR MAS BAJO - ; CINC (ZN) MINIMO/100 KCAL 0,34 MG, MAXIMO/100 KCAL 2,73 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGU IR NSR MAS BAJO - ; MANGANESO (MN) MINIMO/100 KCAL 0,5MICROGRAMOS, MAXIMO/100 K CAL 60MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARS E CONSEGUIR NSR MAS BAJO - ; SELENIO (SE) MINIMO/100 KCAL 0,9MICROGRAMOS, MAXIM O/100 KCAL 9MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PRO CURARSE CONSEGUIR NSR MAS BAJO - ; CROMO (CR)** MINIMO/100 KCAL 0,02MICROGRAMOS , MAXIMO/100 KCAL 5,9MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DE BERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; MOLIBDENO (MO)** MINIMO/100 KCAL 0, 2MICROGRAMOS, MAXIMO/100 KCAL 5,9MICROGRAMOS, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; COLINA** MINIMO/100 KCA L 7,3 MG, MAXIMO/100 KCAL 50 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEB ERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; MIOINOSITOL (INOSITOL)** MINIMO/100 KCAL 4 MG, MAXIMO/100 KCAL 48 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DE BERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; L-CARNITINA (CARNITINA)** MINIMO/10 0 KCAL 1,2 MG, MAXIMO/100 KCAL S. E., NSR/100 KCAL EN CASO DE PRODUCTOS EN POLV O DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; TAURINA** MINIMO/100 KCAL S. E. , MAXIMO/100 KCAL 12 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PRO CURARSE CONSEGUIR NSR MAS BAJO - ; NUCLEOTIDOS** MINIMO/100 KCAL S. E., MAXIMO/ 100 KCAL S. E., NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE C ONSEGUIR NSR MAS BAJO - ; FUENTE DE PROTEINA CONTENDRA LOS AMINOACIDOS ESENCIAL ES ** LECHE DE VACA PROTEINAS TOTALES MINIMO/100 KCAL 1,8 G, MAXIMO/100 KCAL 3, 8 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NS R MAS BAJO - ; LIPIDOS Y ACIDOS GRASOS GRASAS MINIMO/100 KCAL 4,4 G, MAXIMO/100 KCAL 6 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEG UIR NSR MAS BAJO - ; ACIDO LINOLEICO MINIMO/100 KCAL 0,35 G, MAXIMO/100 KCAL 1, 4 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NS R MAS BAJO - ; ACIDO ALFA-LINOLENICO MINIMO/100 KCAL 0,05 G, MAXIMO/100 KCAL S. E., NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NS R MAS BAJO - ; ACIDO ARAQUIDONICO (ARA)** MINIMO/100 KCAL 16 MG, MAXIMO/100 KCA L 35 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUI R NSR MAS BAJO - ; ACIDO DOCOSAHEXAENOICO (DHA)** MINIMO/100 KCAL 9 MG, MAXIMO/ 100 KCAL 21 MG, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE C ONSEGUIR NSR MAS BAJO - ; RELACION ARA : DHA MINIMO/100 KCAL -, MAXIMO/100 KCAL -, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURARSE CONSEGUIR NSR MAS BAJO - ; HIDRATOS DE CARBONO HIDRATOS DE CARBONO MINIMO/100 KCAL 10 G, MAX IMO/100 KCAL 12 G, NSR/100 KCAL EN CASO DE PRODUCTOS EN POLVO DEBERIA PROCURAR SE CONSEGUIR NSR MAS BAJO - ; DISPOSICIONES GENERALES. LA PROPORCION DE ACIDO L INOLEICO/ALFA-LINOLENICO MINIMO 5:1, MAXIMO 15:1 DE MANERA OPCIONAL, LA FUENTE DE PROTEINA PODRA CONTENER LOS AMINOACIDOS ESENCIALES (VALINA, LEUCINA, ISOLEUC INA, TREONINA, LISINA, METIONINA, FENILALANINA Y TRIPTOFANO, Y OTROS, REGULADOS EN LA NORMA OFICIAL MEXICANA NOM-131-SSA1-2012) Y EN CASO DE SER ADICIONADOS S E LISTARAN EN LA FICHA TECNICA. EL CONTENIDO DE ACIDOS GRASOS TRANS NO SERA SUP ERIOR AL 3% DEL CONTENIDO TOTAL DE ACIDOS GRASOS EN LAS FORMULAS PARA LACTANTES . EN LAS FORMULAS PARA LACTANTES SOLO PODRAN A¥ADIRSE ALMIDONES NATURALMENTE EX ENTOS DE GLUTEN PRECOCIDOS Y/O GELATINIZADOS HASTA UN MAXIMO DE 30% DEL CONTENI DO TOTAL DE HIDRATOS DE CARBONO Y HASTA UN MAXIMO DE 2 G/100 ML. EN LAS FORMULA S PARA LACTANTES DEBE EVITARSE EL USO DE SACAROSA, ASI COMO LA ADICION DE FRUCT OSA COMO INGREDIENTE, SALVO CUANDO SEA NECESARIO POR JUSTIFICACION TECNOLOGICA. EN LAS FORMULAS PARA LACTANTES PODRAN A¥ADIRSE OTROS NUTRIMENTOS/INGREDIENTES NORMALMENTE PRESENTES EN LA LECHE MATERNA O HUMANA EN CANTIDAD SUFICIENTE CON L A FINALIDAD DE LOGRAR EL EFECTO NUTRIMENTAL O FISIOLOGICO DE ESTA, SOBRE LA BAS E DE LAS CANTIDADES PRESENTES EN LA LECHE MATERNA Y PARA ASEGURARSE QUE SEA ADE CUADO COMO FUENTE UNICA DE LA NUTRICION DEL LACTANTE. SU IDONEIDAD E INOCUIDAD DEBE ESTAR DEMOSTRADA CIENTIFICAMENTE. SE DEBE CONTAR CON EVIDENCIA CIENTIFICA QUE DEMUESTRE LA UTILIDAD DE LOS NUTRIMENTOS/INGREDIENTES OPCIONALES QUE SE UTI LICEN Y ESTAR A DISPOSICION DE LA SECRETARIA DE SALUD CUANDO ESTA LO SOLICITE. LAS FORMULAS QUE CONTENGAN MAS DE 1,8 G DE PROTEINAS POR CADA 100 KCAL, DEBEN I NCREMENTAR EL CONTENIDO DE PIRIDOXINA EN AL MENOS 15MICROGRAMOS DE PIRIDOXINA P OR CADA GRAMO DE PROTEINA ARRIBA DE DICHO VALOR. EN LA FORMULA LISTA PARA SER C ONSUMIDA DE ACUERDO CON LAS INSTRUCCIONES DESCRITAS EN LA ETIQUETA. SI SE A¥ADE ACIDO DOCOSAHEXAENOICO (DHA), EL CONTENIDO DE ACIDO ARAQUIDONICO DEBE SER AL M ENOS EL MISMO QUE EL DE DHA Y EL CONTENIDO DE ACIDO EICOSAPENTAENOICO (EPA) NO DEBE EXCEDER EL CONTENIDO DE DHA. ** OPCIONAL S.E. SIN ESPECIFICACION NSR: NIVE L SUPERIOR DE REFERENCIA. ENVASE DE 59 ML..

    Bien resulta que cuando quiero exportar el archivo me muestra en el navegador el siguiente mensaje.


    <input class="devtools-filterinput" placeholder="Salida del filtro" type="search" value="" />

    La codificación de caracteres del documento de texto sin formato no fue declarada. El documento se mostrará con texto "basura" en algunas configuraciones de navegador si el documento contiene caracteres externos al rango US-ASCII. La codificación de caracteres de la página debe ser declarada en el protocolo de transferencia o el archivo necesita usar una marca de orden de byte como firma de codificación.

    Podrian echarme una mano por favor para solventar esta problematica.

    muchas gracias.







    Horacio Xochitemol Bautista

    lunes, 12 de octubre de 2020 21:40

Todas las respuestas

  • Hola Xochitemol,

    Ac’a te dejo una guía: Exportar e importar archivos de Excel usando ClosedXML en ASP.NET MVC. Espero que te sea de ayuda. Por favor no olvides marcar una respuesta si resolviste tu consulta (debajo de cada post hay una opción que dice “Marcar como Respuesta”). Quedo pendiente de cualquier actualización. Gracias por levantar tu consulta en los foros de msdn.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    martes, 13 de octubre de 2020 2:12
  • que tal amigo, muchas gracias por el aporte, el problema realmente no esta en genera rel archivo, el problema principal radica en el tipo de dato para el campo descripción que trae una longitud de 8,000 caracteres y que trae caracteres especiales.

    Horacio Xochitemol Bautista

    martes, 13 de octubre de 2020 16:00