public BinnacleList() { this.Entity = new posb.Binnacle(); InitializeComponent(); }
private void btnAccept_Click(object sender, EventArgs e) { svdReportStock.FileName = "Bitacora_" + DateTime.Now.ToString("ddMMyyyy_hhmmss") + ".xlsx"; if (svdReportStock.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Cursor.Current = Cursors.WaitCursor; string type = null; var lBinnacle = new posb.Binnacle().List(1); if (lBinnacle.Count < 1) { this.Alert("No se encontraron registros"); return; } int index = 3; Microsoft.Office.Interop.Excel.Application xlApp = null; Workbook xlWorkBook = null; Worksheet xlWorkSheetItems = null; var cc = new ColorConverter(); object misValue = System.Reflection.Missing.Value; try { xlApp = new Microsoft.Office.Interop.Excel.Application(); xlApp.Visible = false; xlApp.DisplayAlerts = false; xlApp.EnableEvents = false; xlWorkBook = xlApp.Workbooks.Open(this.GetPath() + "\\Templates\\" + this.AppSet <string>("BinnalceReport"), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlCorruptLoad.xlNormalLoad); //Agrega la hoja de items xlWorkSheetItems = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); foreach (var binnacle in lBinnacle) { (xlWorkSheetItems.Cells[index, 1] as Microsoft.Office.Interop.Excel.Range).NumberFormat = "@"; xlWorkSheetItems.Cells[index, 1] = binnacle.Id.ToString().PadLeft(10, '0'); xlWorkSheetItems.Cells[index, 2] = binnacle.Usuario; xlWorkSheetItems.Cells[index, 3] = binnacle.Accion; xlWorkSheetItems.Cells[index, 4] = binnacle.Tipo; (xlWorkSheetItems.Cells[index, 5] as Microsoft.Office.Interop.Excel.Range).NumberFormat = "@"; xlWorkSheetItems.Cells[index, 5] = binnacle.Identificador.ToString().PadLeft(10, '0'); (xlWorkSheetItems.Cells[index, 6] as Microsoft.Office.Interop.Excel.Range).NumberFormat = "@"; xlWorkSheetItems.Cells[index, 6] = binnacle.ValorPrevio; (xlWorkSheetItems.Cells[index, 7] as Microsoft.Office.Interop.Excel.Range).NumberFormat = "@"; xlWorkSheetItems.Cells[index, 7] = binnacle.ValorActual; (xlWorkSheetItems.Cells[index, 8] as Microsoft.Office.Interop.Excel.Range).NumberFormat = "@"; xlWorkSheetItems.Cells[index, 8] = binnacle.Fecha; index++; } //Mantiene el encabezado fijo xlWorkSheetItems.Application.ActiveWindow.SplitRow = 2; xlWorkSheetItems.Application.ActiveWindow.FreezePanes = true; //Agrega autofiltros Microsoft.Office.Interop.Excel.Range firstRow = (Microsoft.Office.Interop.Excel.Range)xlWorkSheetItems.Rows[2]; firstRow.Activate(); firstRow.Select(); firstRow.AutoFilter(2, Type.Missing, Microsoft.Office.Interop.Excel.XlAutoFilterOperator.xlAnd, Type.Missing, true); xlWorkSheetItems.Cells[2, 1].Select(); //Ajusta el ancho de las columnas a su contenido Microsoft.Office.Interop.Excel.Range aRange = xlWorkSheetItems.get_Range("A1", "ZZ1000000"); aRange.EntireColumn.AutoFit(); xlApp.EnableEvents = true; xlWorkBook.SaveAs(svdReportStock.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlLocalSessionChanges, Type.Missing, Type.Missing, Type.Missing, false); xlWorkBook.Close(true, misValue, misValue); xlApp.Application.Quit(); xlApp.Quit(); if (this.Confirm("¿Deseas abrir la bitácora?")) { Process.Start(svdReportStock.FileName); } } catch (Exception ex) { this.Alert("Error: " + ex.Message); } finally { this.ReleasingObjects(xlWorkSheetItems, xlWorkBook, xlApp); } } }