Option Explicit On Option Strict On Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Imports GemBox.Spreadsheet Imports System.Globalization Partial Class Ventas_RepPS Inherits ClsPaginas #Region "P R O P I E D A D E S" Private Property DtReporte As DataTable Get Return DirectCast(ViewState("DtReporte"), DataTable) End Get Set(value As DataTable) ViewState("DtReporte") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then pnlOrden.Visible = False If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then pnlOrden.Visible = True DdlOrden.SelectedValue = "2" 'Using ObjPS As New ClsProductosServicios ' If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then ' DdlMarca.DataSource = ObjPS.DtResultados.Copy() ' End If 'End Using 'DdlMarca.DataBind() 'DdlMarca.Items.Insert(0, New ListItem("Todos", "-1")) End If If UsuarioActual.TienePermisoProceso(320) OrElse UsuarioActual.CveRol = 1 Then LnkRepDiario.Visible = True End If CargaDatosIniciales() CargaCombos() CargaDatos() End If End Sub Private Sub CargaDatosIniciales() txtFechaI.Text = $"01/{Now.Month}/{Now.Year}" txtFechaF.Text = Now.ToString("dd/MM/yyyy") End Sub Private Sub CargaCombos() CargaTipoCentroCosto() DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacion.DataBind() DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) DdlPS.SelectedText = "" DdlPS.SelectedValue = "-1" Else DdlPS.ddl.Items.Clear() DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) DdlPS.ddl.DataBind() DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) End If If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then DivMarca.Visible = True LblMarca.Visible = True LblLinea.Visible = True DivLinea.Visible = True Using ObjMarcas As New ClsProductosServicios If ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa) Then DdlMarcaPSDes.DataSource = ObjMarcas.DtResultados DdlMarcaPSDes.DataBind() End If End Using End If DdlLinea.DataSource = GlobalDTClasificacionesDetalle(UsuarioActual.CveEmpresa) DdlLinea.DataBind() 'DdlMarcaPSDes.Items.Insert(0, New ListItem(" Todos ", "-1")) End Sub Private Sub CargaTipoCentroCosto() Dim index As Integer = 17 If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then DdlSubProyecto.Items.Clear() LblSubProyecto.InnerText = "Sucursal:" DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyecto.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then DdlSubProyecto.Items.Clear() LblSubProyecto.InnerText = "Proyecto:" DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyecto.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) If DdlGrupo.Items.Count < 17 Then index = DdlGrupo.Items.Count End If DdlGrupo.Items.Insert(index, New ListItem("SubProyecto Ejec.", "19")) DdlGrupo.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then LblSubProyecto.InnerText = "Proyecto:" DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) If DdlGrupo.Items.Count < 17 Then index = DdlGrupo.Items.Count End If DdlGrupo.Items.Insert(index, New ListItem("SubProyecto Ejec.", "19")) DdlGrupo.DataBind() ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then LblSubProyecto.InnerText = "Sucursal:" End If End Sub Private Sub CargaDatos() Dim Clasificacion As String = If(DdlClasificacion.GetSelectedValuesM = "", "-1", DdlClasificacion.GetSelectedValuesM) Dim Linea As String = If(DdlLinea.GetSelectedValuesM = "", "-1", DdlLinea.GetSelectedValuesM) Dim Marca As String = If(DdlMarcaPSDes.GetSelectedValuesM = "", "-1", DdlMarcaPSDes.GetSelectedValuesM) Dim CveSubProyecto As Integer = DdlSubProyecto.SelectedValue.ToEntero() Dim Grupo As Integer = DdlGrupo.SelectedValue.ToEntero() Dim CvePS As Integer = DdlPS.SelectedValue.ToEntero() Dim CveMoneda As Integer = -1 Dim TC As Integer = 1 Dim TCEspecifico As Decimal = -1 Dim FechaI, FechaF As DateTime FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) Dim ObjVentas As New ClsVentas() If ObjVentas.GetRepPSEcono(CveSubProyecto, CvePS, FechaI, FechaF, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, GPO:=Grupo, CveMoneda:=CveMoneda, TipoCambio:=TC, TCEspecifico:=TCEspecifico, Clasificacion:=Clasificacion, Linea:=Linea, Marca:=Marca, orden:=DdlOrden.SelectedValue.ToEntero()) Then DtReporte = ObjVentas.DtResultados.Copy() GvDatos.DataSource = DtReporte Else GvDatos.DataSource = Nothing End If ObjVentas.Dispose() GvDatos.DataBind() UPDatos.Update() End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Select Case e.Row.DBCampo("Orden").ToString.ToEntero() Case 4 e.Row.Cells(0).ColumnSpan = 2 e.Row.Cells(1).Visible = False e.Row.CssClass = "Totales" Case 3 e.Row.Cells(0).ColumnSpan = 2 e.Row.Cells(1).Visible = False e.Row.CssClass = "SubTotales2" Case 2 e.Row.Cells(0).ColumnSpan = 2 e.Row.Cells(1).Visible = False e.Row.CssClass = "SubTotales" Case 1 e.Row.Cells(0).ColumnSpan = 2 e.Row.Cells(1).Visible = False e.Row.CssClass = "SubTotalesB" Case 0 e.Row.Cells(0).ColumnSpan = 1 e.Row.Cells(1).Visible = True e.Row.CssClass = "Texto" End Select End If End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub #Region " IMPRIMIR " Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click If GvDatos.Rows.Count > 0 Then GenerarPDF() Else Alert("No hay datos para imprimir") End If End Sub Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click GvDatos.ExportToExcel("ReporteProductosServicios" & Now.ToShortDateString) End Sub Private Sub GenerarPDF() Dim FechaI, FechaF As Date FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) If DtReporte IsNot Nothing AndAlso DtReporte.Rows.Count > 0 Then Dim SbParametros As New StringBuilder SbParametros.AppendFormat("Sucursal:{0}", DdlSubProyecto.SelectedItem.Text) SbParametros.AppendFormat(", Orden:{0}", DdlGrupo.SelectedItem.Text) Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("FechaInicio", If(txtFechaI.Text <> "", FechaI.ToShortDateString, ""))) params.Add(New ReportParameter("FechaFin", If(txtFechaF.Text <> "", FechaF.ToShortDateString, ""))) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If params.Add(New ReportParameter("Parametros", SbParametros.ToString())) If System.IO.File.Exists($"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/{UsuarioActual.CveEmpresa}/Formatos/RepPS.rdlc") Then ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/RepPS.rdlc", DtReporte, params, "ReportePS") Else ImprimirPDF($"Empresas/Grales/Formatos/RepPS.rdlc", DtReporte, params, "ReportePS") End If Else Alert("No hay información para mostrar.", TipoMensaje.MsgAdvertencia) End If End Sub #End Region Protected Sub LnkRepDiario_Click(sender As Object, e As EventArgs) Dim CveMoneda As Integer = -1 Dim TC As Integer = 1 Dim TCEspecifico As Decimal = -1 Dim FechaConsulta As DateTime = Now Dim DataSet As DataSet = New DataSet Dim ObjVentas As New ClsVentas() If ObjVentas.GetRepPSDiario(-1, -1, FechaConsulta, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, GPO:=-1, CveMoneda:=CveMoneda, TipoCambio:=TC, TCEspecifico:=TCEspecifico) Then DataSet = ObjVentas.DataSetResultados.Copy() End If ObjVentas.Dispose() If DataSet IsNot Nothing Then SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) Dim FileExcel As New ExcelFile() Dim worksheetName As String = $"{ToShortMonthName(FechaConsulta).ToUpper()}{FechaConsulta.Day}" Const invalidCharsRegex As String = "[/\\*'?[\]:]+" Const maxLength As Integer = 31 Dim safeName As String = Regex.Replace(worksheetName, invalidCharsRegex, " ").Replace(" ", " ").Trim() If String.IsNullOrEmpty(safeName) Then safeName = "RepPSDiario" ' cannot be empty ElseIf safeName.Length > maxLength Then safeName = safeName.Substring(0, maxLength) End If Dim worksheet = FileExcel.Worksheets.Add(safeName) Dim CellRangeTitulo = worksheet.Cells.GetSubrangeAbsolute(0, 0, 0, 12) CellRangeTitulo.Merged = True CellRangeTitulo.Value = $"{UsuarioActual.Empresa.Empresa}. VENTA DEL DIA {FechaConsulta.Day} DE {ToMonthName(FechaConsulta).ToUpper()} DEL {FechaConsulta.Year}." CellRangeTitulo.Style.VerticalAlignment = VerticalAlignmentStyle.Center CellRangeTitulo.Style.HorizontalAlignment = HorizontalAlignmentStyle.Center #Region "V E N T A S - L L A N T A S, R I N E S, A L I N E A C I O N E S" worksheet.Cells(2, 0).Value = "Sucursal" 'TITULO DE LLANTAS worksheet.Cells.GetSubrangeAbsolute(1, 1, 1, 3).Merged = True worksheet.Cells(1, 3).Value = "LLANTAS" worksheet.Cells(2, 1).Value = "Ant" worksheet.Cells(2, 2).Value = "Dia" worksheet.Cells(2, 3).Value = "Acum" 'TITULO DE RINES worksheet.Cells.GetSubrangeAbsolute(1, 4, 1, 6).Merged = True worksheet.Cells(1, 6).Value = "RINES" worksheet.Cells(2, 4).Value = "Ant" worksheet.Cells(2, 5).Value = "Dia" worksheet.Cells(2, 6).Value = "Acum" 'TITULO DE ALINEACIONES worksheet.Cells.GetSubrangeAbsolute(1, 7, 1, 9).Merged = True worksheet.Cells(1, 9).Value = "ALINEACIONES" worksheet.Cells(2, 7).Value = "Ant" worksheet.Cells(2, 8).Value = "Dia" worksheet.Cells(2, 9).Value = "Acum" 'TITULO DE VENTAS DEL DIA worksheet.Cells.GetSubrangeAbsolute(1, 10, 1, 12).Merged = True worksheet.Cells(1, 12).Value = "VENTA EN PESOS" worksheet.Cells(2, 10).Value = "Ant" worksheet.Cells(2, 11).Value = "Dia" worksheet.Cells(2, 12).Value = "Acum" Dim StyleTitleTable1 = worksheet.Cells.GetSubrangeAbsolute(1, 1, 1, 12).Style StyleTitleTable1.Font.Weight = ExcelFont.BoldWeight StyleTitleTable1.Font.Name = "Calibri" StyleTitleTable1.Font.Size = 8 * 20 StyleTitleTable1.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleTitleTable1.VerticalAlignment = VerticalAlignmentStyle.Center StyleTitleTable1.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim StyleSubTitleTable1 = worksheet.Cells.GetSubrangeAbsolute(2, 0, 2, 12).Style StyleSubTitleTable1.Font.Weight = ExcelFont.BoldWeight StyleSubTitleTable1.Font.Name = "Calibri" StyleSubTitleTable1.Font.Size = 8 * 20 StyleSubTitleTable1.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleSubTitleTable1.VerticalAlignment = VerticalAlignmentStyle.Center StyleSubTitleTable1.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim DtSucursalesLLantasAlin As DataTable = DataSet.Tables(0) 'INICIA DESDE LA CUARTA FILA Dim IdxSucursalesLlantasAlin As Integer = 3 For Each Row As DataRow In DtSucursalesLLantasAlin.Rows worksheet.Cells(IdxSucursalesLlantasAlin, 0).Value = Row("SubProyecto") worksheet.Cells(IdxSucursalesLlantasAlin, 1).Value = Row("LlantasCantidadAnterior") worksheet.Cells(IdxSucursalesLlantasAlin, 2).Value = Row("LlantasCantidadDia") 'worksheet.Cells(IdxSucursalesLlantasAlin, 3).Value = Row("LlantasCantidadAcumulada") worksheet.Cells(IdxSucursalesLlantasAlin, 3).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 1).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 2).Name})" worksheet.Cells(IdxSucursalesLlantasAlin, 4).Value = Row("RinCantidadAnterior") worksheet.Cells(IdxSucursalesLlantasAlin, 5).Value = Row("RinCantidadDia") 'worksheet.Cells(IdxSucursalesLlantasAlin, 6).Value = Row("RinCantidadAcumulada") worksheet.Cells(IdxSucursalesLlantasAlin, 6).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 4).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 5).Name})" worksheet.Cells(IdxSucursalesLlantasAlin, 7).Value = Row("AlinCantidadAnterior") worksheet.Cells(IdxSucursalesLlantasAlin, 8).Value = Row("AlinCantidadDia") 'worksheet.Cells(IdxSucursalesLlantasAlin, 9).Value = Row("AlinCantidadAcumulada") worksheet.Cells(IdxSucursalesLlantasAlin, 9).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 7).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 8).Name})" worksheet.Cells(IdxSucursalesLlantasAlin, 10).Value = Row("VentaAnterior") worksheet.Cells(IdxSucursalesLlantasAlin, 11).Value = Row("VentaDia") 'worksheet.Cells(IdxSucursalesLlantasAlin, 12).Value = Row("VentaAcumulada") worksheet.Cells(IdxSucursalesLlantasAlin, 12).Formula = $"=SUM({worksheet.Cells(IdxSucursalesLlantasAlin, 10).Name}:{worksheet.Cells(IdxSucursalesLlantasAlin, 11).Name})" Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesLlantasAlin, 0, IdxSucursalesLlantasAlin, 12).Style StyleData.Font.Weight = ExcelFont.BoldWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" 'LAS VENTAS DEL DIA NO DEBEN ESTAR EN NEGRITAS worksheet.Cells(IdxSucursalesLlantasAlin, 0).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesLlantasAlin, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left worksheet.Cells(IdxSucursalesLlantasAlin, 2).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesLlantasAlin, 5).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesLlantasAlin, 8).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesLlantasAlin, 11).Style.Font.Weight = ExcelFont.NormalWeight IdxSucursalesLlantasAlin += 1 Next 'LA FILA DE LOS TOTALES DEBE ESTAR EN NEGITAS worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesLlantasAlin - 1, 0, IdxSucursalesLlantasAlin - 1, 12).Style.Font.Weight = ExcelFont.BoldWeight DtSucursalesLLantasAlin.Dispose() #End Region #Region "V E N T A S - S E R V I C I O S D E I N S T A L A C I O N, A M O R T I G U A D O R E S, P O L I Z A S" Dim IdxRefSucursalesServiciosAmortPolizas As Integer = IdxSucursalesLlantasAlin + 3 worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 0).Value = "Sucursal" 'TITULO SERVICIOS DE INSTALACION worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 1, IdxRefSucursalesServiciosAmortPolizas - 1, 3).Merged = True worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 3).Value = "SERVICIOS DE INSTALACION" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 1).Value = "Ant" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 2).Value = "Dia" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 3).Value = "Acum" 'TITULO AMORTIGUADORES worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 4, IdxRefSucursalesServiciosAmortPolizas - 1, 6).Merged = True worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 6).Value = "AMORTIGUADORES" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 4).Value = "Ant" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 5).Value = "Dia" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 6).Value = "Acum" 'TITULO DE POLIZAS worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 7, IdxRefSucursalesServiciosAmortPolizas - 1, 9).Merged = True worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 9).Value = "POLIZAS" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 7).Value = "Ant" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 8).Value = "Dia" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 9).Value = "Acum" 'TITULO DE VENTAS DEL DIA worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 10, IdxRefSucursalesServiciosAmortPolizas - 1, 12).Merged = True worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas - 1, 12).Value = "MANO DE OBRA PESOS" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 10).Value = "Ant" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 11).Value = "Dia" worksheet.Cells(IdxRefSucursalesServiciosAmortPolizas, 12).Value = "Acum" Dim StyleTitleTable2 = worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas - 1, 1, IdxRefSucursalesServiciosAmortPolizas - 1, 12).Style StyleTitleTable2.Font.Weight = ExcelFont.BoldWeight StyleTitleTable2.Font.Name = "Calibri" StyleTitleTable2.Font.Size = 8 * 20 StyleTitleTable2.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleTitleTable2.VerticalAlignment = VerticalAlignmentStyle.Center StyleTitleTable2.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim StyleSubTitleTable2 = worksheet.Cells.GetSubrangeAbsolute(IdxRefSucursalesServiciosAmortPolizas, 0, IdxRefSucursalesServiciosAmortPolizas, 12).Style StyleSubTitleTable2.Font.Weight = ExcelFont.BoldWeight StyleSubTitleTable2.Font.Name = "Calibri" StyleSubTitleTable2.Font.Size = 8 * 20 StyleSubTitleTable2.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleSubTitleTable2.VerticalAlignment = VerticalAlignmentStyle.Center StyleSubTitleTable2.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim DtSucursalesServiciosAmortPolizas As DataTable = DataSet.Tables(1) 'INICIA DESDE LA CUARTA FILA Dim IdxSucursalesServiciosAmortPolizas As Integer = IdxRefSucursalesServiciosAmortPolizas + 1 For Each Row As DataRow In DtSucursalesServiciosAmortPolizas.Rows worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 0).Value = Row("SubProyecto") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 1).Value = Row("ServiciosCantidadAnterior") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 2).Value = Row("ServiciosCantidadDia") 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 3).Value = Row("ServiciosCantidadAcumulada") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 3).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 1).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 2).Name})" worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 4).Value = Row("AmortCantidadAnterior") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 5).Value = Row("AmortCantidadDia") 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 6).Value = Row("AmortCantidadAcumulada") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 6).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 4).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 5).Name})" worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 7).Value = Row("PolizasCantidadAnterior") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 8).Value = Row("PolizasCantidadDia") 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 9).Value = Row("PolizasCantidadAcumulada") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 9).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 7).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 8).Name})" worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 10).Value = Row("VentaAnterior") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 11).Value = Row("VentaDia") 'worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 12).Value = Row("VentaAcumulada") worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 12).Formula = $"=SUM({worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 10).Name}:{worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 11).Name})" Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesServiciosAmortPolizas, 0, IdxSucursalesServiciosAmortPolizas, 12).Style StyleData.Font.Weight = ExcelFont.BoldWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" 'LAS VENTAS DEL DIA NO DEBEN ESTAR EN NEGRITAS worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 0).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 2).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 5).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 8).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxSucursalesServiciosAmortPolizas, 11).Style.Font.Weight = ExcelFont.NormalWeight IdxSucursalesServiciosAmortPolizas += 1 Next 'LA FILA DE LOS TOTALES DEBE ESTAR EN NEGITAS worksheet.Cells.GetSubrangeAbsolute(IdxSucursalesServiciosAmortPolizas - 1, 0, IdxSucursalesServiciosAmortPolizas - 1, 12).Style.Font.Weight = ExcelFont.BoldWeight DtSucursalesServiciosAmortPolizas.Dispose() #End Region #Region "P O R C E N T A J E S" Dim IdxRefPorcentajes As Integer = IdxSucursalesServiciosAmortPolizas + 3 worksheet.Cells(IdxRefPorcentajes, 0).Value = "Sucursal" 'TITULO SERVICIOS worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 1, IdxRefPorcentajes - 1, 2).Merged = True worksheet.Cells(IdxRefPorcentajes - 1, 2).Value = "INSTALACION" worksheet.Cells(IdxRefPorcentajes, 1).Value = "Cant" worksheet.Cells(IdxRefPorcentajes, 2).Value = "%" 'TITULO POLIZAS worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 3, IdxRefPorcentajes - 1, 4).Merged = True worksheet.Cells(IdxRefPorcentajes - 1, 4).Value = "POLIZAS" worksheet.Cells(IdxRefPorcentajes, 3).Value = "Cant" worksheet.Cells(IdxRefPorcentajes, 4).Value = "%" 'TITULO DE ALINEACIONES worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 5, IdxRefPorcentajes - 1, 6).Merged = True worksheet.Cells(IdxRefPorcentajes - 1, 6).Value = "ALINEACIONES" worksheet.Cells(IdxRefPorcentajes, 5).Value = "Cant" worksheet.Cells(IdxRefPorcentajes, 6).Value = "%" Dim StyleTitleTable3 = worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes - 1, 1, IdxRefPorcentajes - 1, 6).Style StyleTitleTable3.Font.Weight = ExcelFont.BoldWeight StyleTitleTable3.Font.Name = "Calibri" StyleTitleTable3.Font.Size = 8 * 20 StyleTitleTable3.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleTitleTable3.VerticalAlignment = VerticalAlignmentStyle.Center StyleTitleTable3.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim StyleSubTitleTable3 = worksheet.Cells.GetSubrangeAbsolute(IdxRefPorcentajes, 0, IdxRefPorcentajes, 6).Style StyleSubTitleTable3.Font.Weight = ExcelFont.BoldWeight StyleSubTitleTable3.Font.Name = "Calibri" StyleSubTitleTable3.Font.Size = 8 * 20 StyleSubTitleTable3.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleSubTitleTable3.VerticalAlignment = VerticalAlignmentStyle.Center StyleSubTitleTable3.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim DtPorcentajes As DataTable = DataSet.Tables(2) 'INICIA DESDE LA CUARTA FILA Dim IdxPorcentajes As Integer = IdxRefPorcentajes + 1 For Each Row As DataRow In DtPorcentajes.Rows worksheet.Cells(IdxPorcentajes, 0).Value = Row("SubProyecto") worksheet.Cells(IdxPorcentajes, 1).Value = Row("Servicios") worksheet.Cells(IdxPorcentajes, 2).Value = Row("ServiciosPorcentaje") worksheet.Cells(IdxPorcentajes, 3).Value = Row("Polizas") worksheet.Cells(IdxPorcentajes, 4).Value = Row("PolizasPorcentaje") worksheet.Cells(IdxPorcentajes, 5).Value = Row("Alineaciones") worksheet.Cells(IdxPorcentajes, 6).Value = Row("AlinPorcentaje") Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxPorcentajes, 0, IdxPorcentajes, 6).Style StyleData.Font.Weight = ExcelFont.BoldWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" 'LAS VENTAS DEL DIA NO DEBEN ESTAR EN NEGRITAS worksheet.Cells(IdxPorcentajes, 0).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxPorcentajes, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left worksheet.Cells(IdxPorcentajes, 1).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxPorcentajes, 3).Style.Font.Weight = ExcelFont.NormalWeight worksheet.Cells(IdxPorcentajes, 5).Style.Font.Weight = ExcelFont.NormalWeight IdxPorcentajes += 1 Next 'LA FILA DE LOS TOTALES DEBE ESTAR EN NEGITAS worksheet.Cells.GetSubrangeAbsolute(IdxPorcentajes - 1, 0, IdxPorcentajes - 1, 6).Style.Font.Weight = ExcelFont.BoldWeight DtPorcentajes.Dispose() #End Region #Region "A Ñ O A N T E R I O R" Dim IdxRefAnioAnteriorLlantas As Integer = IdxPorcentajes + 3 worksheet.Cells(IdxRefAnioAnteriorLlantas, 0).Value = "Sucursal" worksheet.Cells(IdxRefAnioAnteriorLlantas, 1).Value = (FechaConsulta.Year - 1).ToString() worksheet.Cells(IdxRefAnioAnteriorLlantas, 2).Value = FechaConsulta.Year.ToString() worksheet.Cells(IdxRefAnioAnteriorLlantas, 3).Value = "Dif" Dim StyleTitleTable4 = worksheet.Cells.GetSubrangeAbsolute(IdxRefAnioAnteriorLlantas, 0, IdxRefAnioAnteriorLlantas, 3).Style StyleTitleTable4.Font.Weight = ExcelFont.BoldWeight StyleTitleTable4.Font.Name = "Calibri" StyleTitleTable4.Font.Size = 8 * 20 StyleTitleTable4.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleTitleTable4.VerticalAlignment = VerticalAlignmentStyle.Center StyleTitleTable4.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim DtAnioAnteriorLLantas As DataTable = DataSet.Tables(3) 'INICIA DESDE LA CUARTA FILA Dim IdxAnioAnteriorLlantas As Integer = IdxRefAnioAnteriorLlantas + 1 For Each Row As DataRow In DtAnioAnteriorLLantas.FiltraParametros("TipoFila > 1").Rows worksheet.Cells(IdxAnioAnteriorLlantas, 0).Value = Row("Grupo") worksheet.Cells(IdxAnioAnteriorLlantas, 1).Value = Row("LLantasAnioAnterior") worksheet.Cells(IdxAnioAnteriorLlantas, 2).Value = Row("LLantas") worksheet.Cells(IdxAnioAnteriorLlantas, 3).Formula = $"=({worksheet.Cells(IdxAnioAnteriorLlantas, 1).Name} - {worksheet.Cells(IdxAnioAnteriorLlantas, 2).Name})" Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxAnioAnteriorLlantas, 0, IdxAnioAnteriorLlantas, 3).Style StyleData.Font.Weight = ExcelFont.NormalWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" If Row("TipoFila").ToString() = "2" Then StyleData.Font.Weight = ExcelFont.BoldWeight StyleData.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(255, 215, 0), SpreadsheetColor.FromArgb(255, 255, 255)) End If IdxAnioAnteriorLlantas += 1 Next For Each Row As DataRow In DtAnioAnteriorLLantas.FiltraParametros("TipoFila = 1").Rows worksheet.Cells(IdxAnioAnteriorLlantas, 0).Value = Row("Grupo") worksheet.Cells(IdxAnioAnteriorLlantas, 1).Value = Row("LLantasAnioAnterior") worksheet.Cells(IdxAnioAnteriorLlantas, 2).Value = Row("LLantas") worksheet.Cells(IdxAnioAnteriorLlantas, 3).Formula = $"=(+{worksheet.Cells(IdxAnioAnteriorLlantas, 1).Name} - {worksheet.Cells(IdxAnioAnteriorLlantas, 2).Name})" Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxAnioAnteriorLlantas, 0, IdxAnioAnteriorLlantas, 3).Style StyleData.Font.Weight = ExcelFont.BoldWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" StyleData.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(255, 215, 0), SpreadsheetColor.FromArgb(255, 255, 255)) IdxAnioAnteriorLlantas += 1 Next DtAnioAnteriorLLantas.Dispose() #End Region #Region "L L A N T A S M E S A Ñ O A N T E R I O R" Dim IdxRefMesAnioAnteriorLlantas As Integer = IdxAnioAnteriorLlantas + 3 worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas - 1, 1, IdxRefMesAnioAnteriorLlantas - 1, 3).Merged = True worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas - 1, 4, IdxRefMesAnioAnteriorLlantas - 1, 6).Merged = True worksheet.Cells(IdxRefMesAnioAnteriorLlantas - 1, 1).Value = "LLANTAS" worksheet.Cells(IdxRefMesAnioAnteriorLlantas - 1, 4).Value = "%" worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 0).Value = "Sucursal" worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 1).Value = String.Format("{0} {1}", ToShortMonthName(FechaConsulta).ToUpper(), (FechaConsulta.Year - 1)) worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 2).Value = String.Format("{0} {1}", ToShortMonthName(FechaConsulta).ToUpper(), (FechaConsulta.Year)) worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 3).Value = "DIF %" worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 4).Value = String.Format("{0} - %", (FechaConsulta.Year - 1)) worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 5).Value = String.Format("{0} - %", (FechaConsulta.Year)) worksheet.Cells(IdxRefMesAnioAnteriorLlantas, 6).Value = "DIF %" Dim StyleTitleTable5 = worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas - 1, 0, IdxRefMesAnioAnteriorLlantas - 1, 6).Style StyleTitleTable5.Font.Weight = ExcelFont.BoldWeight StyleTitleTable5.Font.Name = "Calibri" StyleTitleTable5.Font.Size = 8 * 20 StyleTitleTable5.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleTitleTable5.VerticalAlignment = VerticalAlignmentStyle.Center StyleTitleTable5.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim StyleSubTitleTable5 = worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantas, 0, IdxRefMesAnioAnteriorLlantas, 6).Style StyleSubTitleTable5.Font.Weight = ExcelFont.BoldWeight StyleSubTitleTable5.Font.Name = "Calibri" StyleSubTitleTable5.Font.Size = 8 * 20 StyleSubTitleTable5.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleSubTitleTable5.VerticalAlignment = VerticalAlignmentStyle.Center StyleSubTitleTable5.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim DtMesAnioAnteriorLLantas As DataTable = DataSet.Tables(4) 'INICIA DESDE LA CUARTA FILA Dim IdxMesAnioAnteriorLlantas As Integer = IdxRefMesAnioAnteriorLlantas + 1 For Each Row As DataRow In DtMesAnioAnteriorLLantas.Rows worksheet.Cells(IdxMesAnioAnteriorLlantas, 0).Value = Row("Sucursal") worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Value = Row("LLantasAnioAnterior") worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Value = Row("LLantas") worksheet.Cells(IdxMesAnioAnteriorLlantas, 3).Formula = $"=({worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name} - {worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name})" worksheet.Cells(IdxMesAnioAnteriorLlantas, 4).Formula = $"=+(({worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name} * 1.07) - {worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name}) /12" worksheet.Cells(IdxMesAnioAnteriorLlantas, 5).Formula = $"=+(({worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name} * 1) - {worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name}) /12" worksheet.Cells(IdxMesAnioAnteriorLlantas, 6).Formula = $"=+({worksheet.Cells(IdxMesAnioAnteriorLlantas, 2).Name} / {worksheet.Cells(IdxMesAnioAnteriorLlantas, 1).Name}) - 1" Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxMesAnioAnteriorLlantas, 0, IdxMesAnioAnteriorLlantas, 6).Style StyleData.Font.Weight = ExcelFont.NormalWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" IdxMesAnioAnteriorLlantas += 1 Next DtMesAnioAnteriorLLantas.Dispose() #End Region #Region "L L A N T A S M E S A Ñ O A N T E R I O R" Dim IdxRefMesAnioAnteriorLlantasResumen As Integer = IdxMesAnioAnteriorLlantas + 2 worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 0).Value = "Mes" worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 1).Value = String.Format("{0}", (FechaConsulta.Year - 1)) worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 2).Value = String.Format("{0}", (FechaConsulta.Year)) worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 3).Value = "DIF UDS" worksheet.Cells(IdxRefMesAnioAnteriorLlantasResumen, 4).Value = "DIF %" Dim StyleTitleTable6 = worksheet.Cells.GetSubrangeAbsolute(IdxRefMesAnioAnteriorLlantasResumen, 0, IdxRefMesAnioAnteriorLlantasResumen, 4).Style StyleTitleTable6.Font.Weight = ExcelFont.BoldWeight StyleTitleTable6.Font.Name = "Calibri" StyleTitleTable6.Font.Size = 8 * 20 StyleTitleTable6.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleTitleTable6.VerticalAlignment = VerticalAlignmentStyle.Center StyleTitleTable6.HorizontalAlignment = HorizontalAlignmentStyle.Center Dim DtMesAnioAnteriorLLantasResumen As DataTable = DataSet.Tables(5) 'INICIA DESDE LA CUARTA FILA Dim IdxMesAnioAnteriorLlantasResumen As Integer = IdxRefMesAnioAnteriorLlantasResumen + 1 For Each Row As DataRow In DtMesAnioAnteriorLLantasResumen.Rows worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 0).Value = ToMonthName(FechaConsulta).ToUpper() worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 1).Value = Row("LLantasAnioAnterior") worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 2).Value = Row("LLantas") worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 3).Formula = $"=({worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 1).Name} - {worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 2).Name})" worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 4).Formula = $"=+({worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 2).Name} / {worksheet.Cells(IdxMesAnioAnteriorLlantasResumen, 1).Name})" Dim StyleData = worksheet.Cells.GetSubrangeAbsolute(IdxMesAnioAnteriorLlantasResumen, 0, IdxMesAnioAnteriorLlantasResumen, 4).Style StyleData.Font.Weight = ExcelFont.NormalWeight StyleData.Font.Name = "Calibri" StyleData.Font.Size = 8 * 20 StyleData.VerticalAlignment = VerticalAlignmentStyle.Center StyleData.HorizontalAlignment = HorizontalAlignmentStyle.Center StyleData.Borders.SetBorders(MultipleBorders.All, SpreadsheetColor.FromName(ColorName.Black), LineStyle.Thin) StyleData.NumberFormat = "_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-" IdxMesAnioAnteriorLlantasResumen += 1 Next DtMesAnioAnteriorLLantasResumen.Dispose() #End Region Dim columnCount = worksheet.CalculateMaxUsedColumns() For i = 0 To columnCount worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1)) Next FileExcel.Save(Response, $"DIARIO_{FechaConsulta.ToString("dd_MM_yyyy")}.xlsx", SaveOptions.XlsxDefault) End If End Sub Public Function ToMonthName(ByVal dateTime As DateTime) As String Return New CultureInfo("es-MX").DateTimeFormat.GetMonthName(dateTime.Month) End Function Public Function ToShortMonthName(ByVal dateTime As DateTime) As String Return New CultureInfo("es-MX").DateTimeFormat.GetAbbreviatedMonthName(dateTime.Month) End Function End Class