Mostrando entradas con la etiqueta LinqToExcel. Mostrar todas las entradas
Mostrando entradas con la etiqueta LinqToExcel. Mostrar todas las entradas

miércoles, 15 de agosto de 2018

Leer Archivo Excel utilizando LinqToExcel



Ejemplo de implementacion:

        public int LeerDocumentoExcel(ref List<ComplementoPagoImportadoExcel> LCPIE, string RutaArchivo, out string MensajeError)
        {
            try
            {
                MensajeError = string.Empty;
                var book = new ExcelQueryFactory(RutaArchivo);
                var resultado = (from row in book.Worksheet("Hoja1")
                                 let item = new ComplementoPagoImportadoExcel
                                 {
                                     //ENCABEZADO DE DOCUMENTO
                                     Serie = row["SERIE"].Cast<string>(),
                                     Cliente = row["CLIENTE"].Cast<string>(),
                                     Bodega = row["BODEGA"].Cast<string>(),
                                     Fecha = row["FECHA"].Cast<DateTime>(),
                                     FormaPago = row["FORMAPAGO"].Cast<int>(),
                                     Expedido = row["EXPEDIDO"].Cast<string>(),
                                     FechaPago = row["FECHA DE PAGO"].Cast<DateTime>(),
                                     Moneda = row["MONEDA"].Cast<string>(),
                                     TipoCambio = row["TIPO DE CAMBIO"].Cast<int>(),
                                     CondicionesPago = row["CONDICIONES PAGO"].Cast<string>(),
                                     Referencia = row["REFERENCIA"].Cast<string>(),
                                     ExcentoIva = row["EXCENTO IVA"].Cast<string>(),
                                     TazaIva = row["TASA IVA"].Cast<decimal>(),
                                     TazarIva = row["TASAR IVA"].Cast<decimal>(),
                                     TipoRelacion = row["TIPO DE RELACION "].Cast<string>(),
                                     UsoDeCFDI = row["USO DE CFDI"].Cast<string>(),
                                     Notas = row["NOTAS"].Cast<string>(),
                                     Confirmacion = row["CONFIRMACIÓN"].Cast<string>(),
                                     MedioPago = row["MEDIO DE PAGO"].Cast<string>(),


                                     //COMPLEMENTO DE PAGO
                                     FechaPagoCP = row["FECHA DE PAGO"].Cast<DateTime>(),
                                     HoraPago = row["HORA PAGO"].Cast<DateTime>(),
                                     MonedaPago = row["MONEDA PAGO"].Cast<string>(),
                                     TipoPago = row["TIPO DE PAGO"].Cast<string>(),
                                     FormaPagoCP = row["FORMA DE PAGO"].Cast<string>(),
                                     Monto = row["MONTO"].Cast<decimal>(),
                                     NumeroOpera = row["NUMERO OPERACIÓN"].Cast<string>(),
                                     RFCEmisor = row["Rfc Emisor:"].Cast<string>(),
                                     NoBanco = row["Nom Banco:"].Cast<string>(),
                                     CuentaOrdenante = row["Cuenta Ordenante:"].Cast<string>(),
                                     RfcBeneficiario = row["Rfc Beneficiario:"].Cast<string>(),
                                     CuentaBeneficiaria = row["Cuenta Beneficiario:"].Cast<string>(),
                                     TipoCadenaPago = row["Tipo Cadena Pago:"].Cast<string>(),
                                     CertificadoPago = row["Certificado de Pago:"].Cast<string>(),
                                     CadenaPago = row["Cadena Pago:"].Cast<string>(),
                                     SelloPago = row["Sello Pago:"].Cast<string>(),


                                     //DETALLE COMPLEMENTO PAGO
                                     SerieDCP = row["SERIE"].Cast<string>(),
                                     FolioDCP = row["FOLIO"].Cast<string>(),
                                     UUIDDCP = row["UUID"].Cast<string>(),
                                     MonedaDCP = row["MONEDA"].Cast<string>(),
                                     TipoCambioDCP = row["TIPO CAMBIO"].Cast<int>(),
                                     ParcialidadCDP = row["PARCIALIDAD"].Cast<int>(),
                                     SaldoAnteriorDCP = row["SALDO ANTERIOR"].Cast<decimal>(),
                                     ImportePagadoDCP = row["IMPORTE PAGADO"].Cast<decimal>(),
                                     SaldoDCP = row["SALDO"].Cast<decimal>()
                                 }
                                 //where (item.Serie != null) || (item.Cliente != null) || (item.Bodega != null)
                                 select item).ToList();

                var aux = (from x in resultado
                           where (x.Serie != null) || (x.Cliente != null) || (x.Bodega != null)
                           select x).ToList();

                book.Dispose();
                LCPIE = aux;
                return 0;
            }
            catch (Exception e)
            {

                MensajeError = e.Message;
                return -1;
            }

        }