예제 #1
0
        public static DataTable getPreviewDeArchivo(string p_path, Type T, out string p_mensajeError)
        {
            int cantidadAtributos = 0;

            if (T == typeof(ModeloArticuloProveedores))
            {
                cantidadAtributos = 10;
            }
            else if (T == typeof(ModeloArticulos))
            {
                cantidadAtributos = 4;
            }
            else if (T == typeof(ModeloCliente))
            {
                cantidadAtributos = 5;
            }
            else if (T == typeof(ModeloProveedor))
            {
                cantidadAtributos = 3;
            }
            else if (T == typeof(ModeloValorArticulo))
            {
                cantidadAtributos = 3;
            }
            Datos.ConexionOpenXML lcl_con_excel  = new Datos.ConexionOpenXML();
            DataTable             lcl_dt_preview = lcl_con_excel.leerExcel_preview(p_path, cantidadAtributos);

            p_mensajeError = lcl_con_excel.errorActual;
            return(lcl_dt_preview);
        }
예제 #2
0
        public bool importarDatos(string p_path, Type T, List <int?> p_indiceAtributo, bool p_primeraRowHeaders, out string p_respuesta)
        {
            p_respuesta = null;

            DataTable lcl_dataTable = this.getDataTable(T);

            if (lcl_dataTable == null)
            {
                p_respuesta = "Ha surgido un error inesperado. No se ha reconocido el tipo de datos que se desea importar.";
                return(false);
            }
            Datos.ConexionOpenXML ExcelReader = new Datos.ConexionOpenXML();
            if (!ExcelReader.leerExcel(p_path, p_indiceAtributo, ref lcl_dataTable, p_primeraRowHeaders))
            {
                p_respuesta = "Ha surgido un problema al leer los datos del archivo." + " " + errorActual;
                return(false);
            }

            if (!this.importarDatos_agregarABaseDeDatos(T, lcl_dataTable))
            {
                p_respuesta = errorActual;//"Ha surgido un problema al agregar datos a la base de datos.";
                return(false);
            }

            p_respuesta = "Importación de datos exitosa.";
            return(true);
        }
예제 #3
0
        public bool Exportar(Type p_type, string p_direccionDeCarpetaDestino)
        {
            Datos.ConexionOpenXML lcl_conXML = new Datos.ConexionOpenXML();

            string direccionDeArchivo = p_direccionDeCarpetaDestino + "\\" + this.getNombreArchivo(p_type) + ".xlsx";

            DataTable dt_datosExportar = this.getDatos(p_type);

            if (dt_datosExportar == null)
            {
                errorActual = "Ha surgido un error inesperado al exportar.";
                return(false);
            }
            if (dt_datosExportar.Rows.Count < 1)
            {
                errorActual = "No existen datos para exportar.";
                return(false);
            }

            if (lcl_conXML.escribirExcel(dt_datosExportar, direccionDeArchivo))
            {
                errorActual = "Exportación de datos exitosa.";
                return(true);
            }
            else
            {
                errorActual = lcl_conXML.errorActual;
                return(false);
            }
        }