コード例 #1
0
        private bool ActualizarExistenciasExcel(string FileName)
        {
            try
            {
                Microsoft.Office.Interop.Excel.Application xlsApp = new Microsoft.Office.Interop.Excel.Application();
                if (xlsApp == null)
                {
                    MessageBox.Show("EXCEL could not be started. Check that your office installation and project references are correct.", Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                Workbook  xlsBook;
                Worksheet Inventario;
                Sheets    xlHojas;
                string    PathAr = FileName;
                xlsBook    = xlsApp.Workbooks.Open(PathAr);
                xlHojas    = xlsBook.Sheets;
                Inventario = (Worksheet)xlHojas["Inventario"];
                try
                {
                    xlsApp.DisplayAlerts = false;
                    xlsApp.Visible       = false;
                    int FilaInicio = 4;
                    infoProducto.ImportarExcel = new System.Data.DataTable();
                    infoProducto.ImportarExcel.Columns.Add("IDProducto", typeof(string));
                    infoProducto.ImportarExcel.Columns.Add("Clave", typeof(string));
                    infoProducto.ImportarExcel.Columns.Add("ConteoFisico", typeof(decimal));
                    while ((Inventario.Cells[FilaInicio, 1] as Microsoft.Office.Interop.Excel.Range).Value2 != null)
                    {
                        string  Codigo = "", IDProducto = "";
                        decimal ConteoFisico = 0;
                        IDProducto = (Inventario.Cells[FilaInicio, 6] as Microsoft.Office.Interop.Excel.Range).Value2.ToString();
                        Codigo     = (Inventario.Cells[FilaInicio, 1] as Microsoft.Office.Interop.Excel.Range).Value2.ToString();
                        decimal.TryParse((Inventario.Cells[FilaInicio, 4] as Microsoft.Office.Interop.Excel.Range).Value2.ToString(), NumberStyles.Currency, CultureInfo.CurrentCulture, out ConteoFisico);
                        infoProducto.ImportarExcel.Rows.Add(new Object[] { IDProducto, Codigo, ConteoFisico });
                        FilaInicio++;
                    }

                    Producto         AuxProducto = new Producto();
                    Producto_Negocio ProdNeg     = new Producto_Negocio();
                    AuxProducto.Conexion      = Comun.Conexion;
                    AuxProducto.IDSucursal    = Comun.IDSucursalCaja;
                    AuxProducto.IDUsuario     = Comun.IDUsuario;
                    AuxProducto.ImportarExcel = infoProducto.ImportarExcel;
                    ProdNeg.AInventarioEXCEL(AuxProducto);
                    if (AuxProducto.Completado)
                    {
                        MessageBox.Show("Datos guardados correctamente.", Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("Datos no se guardaron correctamente. Intente mas tarde", Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    LogError.AddExcFileTxt(ex, "Generar Reporte Excel");
                    return(false);
                }
                finally
                {
                    xlsBook.Close();
                    xlsApp.Quit();
                    releaseObject(xlHojas);
                    releaseObject(xlsBook);
                    releaseObject(Inventario);
                    releaseObject(xlsApp);
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        private void ImportarExcel()
        {
            try
            {
                OpenFileDialog openFileDialogExcel = new OpenFileDialog();
                openFileDialogExcel.Filter           = "Excel Files|*.xlsx";
                openFileDialogExcel.FileName         = "";
                openFileDialogExcel.Title            = "Seleccione el archivo excel";
                openFileDialogExcel.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString();
                if (openFileDialogExcel.ShowDialog() == DialogResult.OK)
                {
                    Microsoft.Office.Interop.Excel.Application xlsApp = new Microsoft.Office.Interop.Excel.Application();

                    Workbook  xlsBook;
                    Worksheet Inventario;
                    Sheets    xlHojas;

                    xlsApp.DisplayAlerts = false;
                    xlsApp.Visible       = false;
                    string PathAr = openFileDialogExcel.FileName;
                    xlsBook = xlsApp.Workbooks.Open(PathAr);

                    xlHojas    = xlsBook.Sheets;
                    Inventario = (Worksheet)xlHojas["Inventario"];
                    int FilaInicio = 4;

                    infoProducto.ImportarExcel = new System.Data.DataTable();
                    infoProducto.ImportarExcel.Columns.Add("IDProducto", typeof(string));
                    infoProducto.ImportarExcel.Columns.Add("Clave", typeof(string));
                    infoProducto.ImportarExcel.Columns.Add("ConteoFisico", typeof(decimal));

                    while ((Inventario.Cells[FilaInicio, 1] as Microsoft.Office.Interop.Excel.Range).Value2 != null)
                    {
                        string  Codigo = "", IDProducto = "";
                        decimal ConteoFisico = 0;
                        IDProducto = (Inventario.Cells[FilaInicio, 6] as Microsoft.Office.Interop.Excel.Range).Value2.ToString();
                        Codigo     = (Inventario.Cells[FilaInicio, 1] as Microsoft.Office.Interop.Excel.Range).Value2.ToString();
                        decimal.TryParse((Inventario.Cells[FilaInicio, 4] as Microsoft.Office.Interop.Excel.Range).Value2.ToString(), NumberStyles.Currency, CultureInfo.CurrentCulture, out ConteoFisico);
                        infoProducto.ImportarExcel.Rows.Add(new Object[] { IDProducto, Codigo, ConteoFisico });
                        FilaInicio++;
                    }

                    Producto         AuxProducto = new Producto();
                    Producto_Negocio ProdNeg     = new Producto_Negocio();
                    AuxProducto.Conexion      = Comun.Conexion;
                    AuxProducto.IDSucursal    = Comun.IDSucursalCaja;
                    AuxProducto.IDUsuario     = Comun.IDUsuario;
                    AuxProducto.ImportarExcel = infoProducto.ImportarExcel;
                    ProdNeg.AInventarioEXCEL(AuxProducto);
                    if (AuxProducto.Completado)
                    {
                        MessageBox.Show("Datos guardados correctamente.", Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("Datos no se guardaron correctamente. Intente mas tarde", Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    xlsBook.Close();
                    xlsApp.Quit();
                    releaseObject(xlHojas);
                    releaseObject(xlsBook);
                    releaseObject(Inventario);
                    releaseObject(xlsApp);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }