Example #1
0
        public DataTable LeerArchivoExcel(object itemSeleccionado, string archivo, Stream myStream, out string resultado)
        {
            resultado = "";
            Model.Archivo.ArchivoExcel archivoExcelSeleccionado = (Model.Archivo.ArchivoExcel)itemSeleccionado;
            DataTable dtHojaSeleccionada = new DataTable();

            #region CodigoExcel

            try
            {
                if (myStream != null)
                {
                    using (myStream)
                    {
                        if (archivo.Split('.')[archivo.Split('.').Length - 1].ToLower() == "xlsx")
                        {
                            // Insert code to read the stream here.
                            //IExcelDataReader excelReader =  Factory.CreateReader(myStream, ExcelFileType.Binary);
                            IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(myStream);



                            DataSet result = excelReader.AsDataSet();

                            for (int i = 0; i < result.Tables.Count; i++)
                            {
                                if (i == archivoExcelSeleccionado.NumHojaLeer)
                                {
                                    dtHojaSeleccionada = result.Tables[i];
                                }
                            }
                        }
                        if (archivo.Split('.')[archivo.Split('.').Length - 1].ToLower() == "xls")
                        {
                            //for excel 2003
                            IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(myStream);

                            DataSet result = excelReader.AsDataSet();

                            for (int i = 0; i < result.Tables.Count; i++)
                            {
                                if (i == archivoExcelSeleccionado.NumHojaLeer)
                                {
                                    dtHojaSeleccionada = result.Tables[i];
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                resultado = "Error: No puede leer al archivo Original error: " + ex.Message;
            }
            #endregion
            return(dtHojaSeleccionada);
        }
Example #2
0
        public DataTable ValidarInformacion(object itemSeleccionado, DataTable dthoja, out string mensaje)
        {
            try
            {
                Model.Archivo.ArchivoExcel archivoExcelSeleccionado = (Model.Archivo.ArchivoExcel)itemSeleccionado;
                ObjetosSQL _SQL = new ObjetosSQL();



                string[,] parametro = { { "@ArchivoSeleccionado", archivoExcelSeleccionado.ID.ToString() } };

                DataTable dtNuevo = new DataTable();

                for (int i = 0; i < dthoja.Columns.Count; i++)
                {
                    dtNuevo.Columns.Add(new DataColumn(dthoja.Rows[archivoExcelSeleccionado.FilaInicioLeer - 1][i].ToString()));
                }

                for (int i = archivoExcelSeleccionado.FilaInicioLeer; i < dthoja.Rows.Count; i++)
                {
                    DataRow newRow = dtNuevo.NewRow();

                    for (int j = 0; j < dthoja.Columns.Count; j++)
                    {
                        newRow[j] = dthoja.Rows[i][j].ToString();
                    }
                    dtNuevo.Rows.Add(newRow);
                }


                int columna = 0;
                while (columna < dtNuevo.Columns.Count)
                {
                    if (archivoExcelSeleccionado.ID == 8)
                    {
                        if (dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "numerounico".ToUpper())
                        {
                            dtNuevo.Columns.RemoveAt(columna);
                        }
                        else
                        {
                            columna++;
                        }
                    }
                    else if (archivoExcelSeleccionado.ID < 6)
                    {
                        if (dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "Isometrico".ToUpper() && dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "Isométrico".ToUpper() && dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "Junta".ToUpper() && dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "junta".ToUpper())
                        {
                            dtNuevo.Columns.RemoveAt(columna);
                        }
                        else
                        {
                            columna++;
                        }
                    }
                    else
                    {
                        if (dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "Dibujo".ToUpper() && dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "Isometrico".ToUpper() && dtNuevo.Columns[columna].ColumnName.ToUpper().Trim() != "Isométrico".ToUpper())
                        {
                            dtNuevo.Columns.RemoveAt(columna);
                        }
                        else
                        {
                            columna++;
                        }
                    }
                }

                if (archivoExcelSeleccionado.RequiereValidar)
                {
                    DataTable tabla = new DataTable();
                    if (archivoExcelSeleccionado.ID == 8)
                    {
                        tabla = _SQL.EjecutaDataAdapter(Stords.Montaje_Set_ValidarMontajeColada, dtNuevo, "@TablaColadas", parametro);
                    }
                    else if (archivoExcelSeleccionado.ID < 6)
                    {
                        tabla = _SQL.EjecutaDataAdapter(Stords.Montaje_Set_ValidarMontaje, dtNuevo, "@TablaMontaje", parametro);
                    }
                    else
                    {
                        tabla = _SQL.EjecutaDataAdapter(Stords.Montaje_Set_ValidarMontajeIsometrico, dtNuevo, "@TablaMontaje", parametro);
                    }

                    if (tabla.Rows.Count == 0)
                    {
                        mensaje = "no se han encontrado datos repetidos, para continuar presione el boton Planchar informacion";
                    }
                    else
                    {
                        mensaje = "Se encontraron los siguientes datos repetidos para reemplazarlos favor de presionar el boton planchar información";
                    }

                    return(tabla);
                }
                else
                {
                    mensaje = "No se requiere validar favor de presionar el boton planchar información";
                    return(new DataTable());
                }
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(new DataTable());
            }
        }
Example #3
0
        public bool PlacharInserarInformacion(object itemSeleccionado, DataTable dthoja, out string mensaje)
        {
            try
            {
                Model.Archivo.ArchivoExcel archivoExcelSeleccionado = (Model.Archivo.ArchivoExcel)itemSeleccionado;
                ObjetosSQL _SQL = new ObjetosSQL();
                string[,] parametro = { { "@ArchivoSeleccionado", archivoExcelSeleccionado.ID.ToString() } };
                bool esCorrectoInsercion = false;

                DataTable dtNuevo = new DataTable();

                for (int i = 0; i < dthoja.Columns.Count; i++)
                {
                    dtNuevo.Columns.Add(new DataColumn(dthoja.Rows[archivoExcelSeleccionado.FilaInicioLeer - 1][i].ToString()));
                }

                for (int i = archivoExcelSeleccionado.FilaInicioLeer; i < dthoja.Rows.Count; i++)
                {
                    DataRow newRow = dtNuevo.NewRow();
                    // if (dthoja.Rows[i][0].ToString().Trim() != "")
                    //{
                    for (int j = 0; j < dthoja.Columns.Count; j++)
                    {
                        newRow[j] = dthoja.Rows[i][j].ToString();
                    }
                    dtNuevo.Rows.Add(newRow);
                    //}
                }

                if (archivoExcelSeleccionado.ID == 1)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajeBaseTrazabilidad, dtNuevo, "@TablaMontajeTrazabilidad", parametro);
                }
                else if (archivoExcelSeleccionado.ID == 2)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajeSeguimientoJuntas, dtNuevo, "@TablaMontajeSeguimientoJuntas", parametro);
                }
                else if (archivoExcelSeleccionado.ID == 4)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajeRT, dtNuevo, "@TablaMontajeRT", parametro);
                }
                else if (archivoExcelSeleccionado.ID == 5)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajePWHT, dtNuevo, "@TablaMontajePWHT", parametro);
                }
                else if (archivoExcelSeleccionado.ID == 6)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajePintura, dtNuevo, "@TablaMontaje", parametro);
                }
                else if (archivoExcelSeleccionado.ID == 7)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajeEncabezado, dtNuevo, "@TablaMontajeCabecera", parametro);
                }
                else if (archivoExcelSeleccionado.ID == 8)
                {
                    esCorrectoInsercion = _SQL.Ejecuta(Stords.Montaje_Set_GuardarMontajeColadas, dtNuevo, "@TablaMontajeColadas", parametro);
                }

                if (esCorrectoInsercion)
                {
                    mensaje = "Se realizo la insercion y/o actualizacion de manera satisfactoria";
                    return(true);
                }

                mensaje = "existio un error al guardar/actualizar la información";
                return(false);
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(false);
            }
        }