private void imprimirHoja()
        {
            try
            {
                DocumentoExcel documento = new DocumentoExcel(Application.StartupPath + "\\Plantillas\\plantilla Facturacion ProcesamientoExterno.xlt", true);

                documento.seleccionarHoja(1);

                // Escribir los datos

                //documento.seleccionarCelda("E5");
                //documento.actualizarValorCelda(dgvCargas.Rows.Count);

                //documento.seleccionarCelda("E6");
                //documento.actualizarValorCelda(lblMontoTipoCambio.Text);

                //documento.seleccionarCelda("C11");
                //documento.actualizarValorCelda(Enum.GetName(typeof(TiposCartucho), carga.Tipo));

                //documento.seleccionarCelda("C13");
                //documento.actualizarValorCelda(carga.ATM_full ? "Sí" : "No");


                // Imprimir los montos

                int fila = 5;


                foreach (DataGridViewRow r in dgvCargas.Rows)
                {
                    FacturacionProcesamiento datos = (FacturacionProcesamiento)r.DataBoundItem;

                    documento.seleccionarCelda(fila, 1);
                    documento.actualizarValorCelda(datos.Fecha);

                    documento.seleccionarCelda(fila, 2);
                    documento.actualizarValorCelda(datos.Cliente.Nombre);

                    documento.seleccionarCelda(fila, 3);
                    documento.actualizarValorCelda(datos.MontoTotalColones);

                    documento.seleccionarCelda(fila, 4);
                    documento.actualizarValorCelda(datos.MontoTotalDolares);

                    documento.seleccionarCelda(fila, 5);
                    documento.actualizarValorCelda(datos.MontoTotalNiquel);

                    documento.seleccionarCelda(fila, 6);
                    documento.actualizarValorCelda(datos.TarifaColones);

                    documento.seleccionarCelda(fila, 7);
                    documento.actualizarValorCelda(datos.TarifaDolares);

                    documento.seleccionarCelda(fila, 8);
                    documento.actualizarValorCelda(datos.TarifaNiquel);


                    fila++;
                }



                // Imprimir el archivo

                documento.mostrar();
                documento.cerrar();
            }
            catch (Exception)
            {
                Excepcion.mostrarMensaje("ErrorExcel");
            }
        }
        /// <summary>
        /// Lista los datos de la tarifa a cobrar a los clientes
        /// </summary>
        /// <param name="c">Objeto Cliente con los datos del Cliente</param>
        /// <param name="t">Objeto Empresa Transporte con los datos de la Transportadora</param>
        /// <param name="fechai">Fecha Inicio de la Facturación</param>
        /// <param name="fechaf">Fecha Fin de la Facturación</param>
        /// <returns></returns>
        public BindingList <FacturacionProcesamiento> listarResumenFacturacionClienteProcesamiento(Cliente c, EmpresaTransporte t, DateTime fechai, DateTime fechaf)
        {
            BindingList <FacturacionProcesamiento> lista = new BindingList <FacturacionProcesamiento>();


            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectResumenFacturacionProcesamientoProa");
            SqlDataReader datareader = null;

            if (c == null)
            {
                _manejador.agregarParametro(comando, "@cliente", c, SqlDbType.SmallInt);
            }
            if (c != null)
            {
                _manejador.agregarParametro(comando, "@cliente", c.Id, SqlDbType.SmallInt);
            }
            _manejador.agregarParametro(comando, "@transportadora", t, SqlDbType.Int);
            _manejador.agregarParametro(comando, "@fecha_inicial", fechai, SqlDbType.DateTime);
            _manejador.agregarParametro(comando, "@fecha_final", fechaf, SqlDbType.DateTime);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    //int id = (byte)datareader["pk_ID"];
                    //string nombre = (string)datareader["Nombre"];

                    DateTime fecha = (DateTime)datareader["Fecha"];


                    short  id_cliente     = (short)datareader["ID_Cliente"];
                    string nombre_cliente = (string)datareader["Cliente"];

                    Cliente cliente = new Cliente(id: id_cliente, nombre: nombre_cliente);

                    byte id_transportadora = (byte)datareader["ID_Transportadora"];
                    //string nombre_transportadora = (string)datareader["Nombre_Transportadora"];

                    EmpresaTransporte empresa = new EmpresaTransporte(id: id_transportadora);


                    decimal monto_colones  = 0;
                    decimal monto_dolares  = 0;
                    decimal monto_niquel   = 0;
                    decimal tarifa_colones = 0;
                    decimal tarifa_dolares = 0;
                    decimal tarifa_niquel  = 0;


                    if (datareader["MontoTotalColones"] != DBNull.Value)
                    {
                        monto_colones = (decimal)datareader["MontoTotalColones"];
                    }


                    if (datareader["MontoTotalDolares"] != DBNull.Value)
                    {
                        monto_dolares = (decimal)datareader["MontoTotalDolares"];
                    }


                    if (datareader["MontoTotalNiquel"] != DBNull.Value)
                    {
                        monto_niquel = (decimal)datareader["MontoTotalNiquel"];
                    }

                    if (datareader["TarifaColones"] != DBNull.Value)
                    {
                        tarifa_colones = (decimal)datareader["TarifaColones"];
                    }


                    if (datareader["TarifaDolares"] != DBNull.Value)
                    {
                        tarifa_dolares = (decimal)datareader["TarifaDolares"];
                    }


                    if (datareader["TarifaNiquel"] != DBNull.Value)
                    {
                        tarifa_niquel = (decimal)datareader["TarifaNiquel"];
                    }



                    FacturacionProcesamiento resumen = new FacturacionProcesamiento(cliente: cliente, fecha: fecha, transportadora: empresa, monto_colones: monto_colones, monto_dolares: monto_dolares, monto_niquel: monto_niquel,
                                                                                    tarifa_colones: tarifa_colones, tarifa_dolares: tarifa_dolares, tarifa_niquel: tarifa_niquel);

                    lista.Add(resumen);
                }

                comando.Connection.Close();
            }
            catch (Exception ex)
            {
                comando.Connection.Close();
                throw new Excepcion(ex.Message);
            }
            return(lista);
        }