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; } }
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 { } }