Descarga de Reporte Diario en Excel E141
This commit is contained in:
@@ -67,6 +67,9 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="ImgExcel" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkRepDiario" runat="server" Visible="false" OnClick="LnkRepDiario_Click"> <i class="fa fa-file-o" style="font-weight:bold;"></i> Reporte Diario</asp:LinkButton>
|
||||
</li>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
@@ -134,33 +137,32 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="portlet-body" style="display: none">
|
||||
<div class="row">
|
||||
<label class="col-md-1 truncate">Productos Servicios:</label>
|
||||
<div class="col-md-2">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
|
||||
<label class="col-md-1 truncate">Clasificación:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:ListBox ID="DdlClasificacion" AutoPostBack="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Style="width: 100%" data-text="Todos" SelectionMode="Multiple">
|
||||
</asp:ListBox>
|
||||
</div>
|
||||
<label runat="server" id="LblLinea" data-placement="top" class="col-md-1" visible="false">Linea:</label>
|
||||
<div runat="server" id="DivLinea" class="col-md-2" visible="false">
|
||||
<asp:ListBox ID="DdlLinea" CssClass="select2me" runat="server" DataTextField="ClasificacionDetalle" DataValueField="CveClasificacionDetalle" Style="width: 100%" data-text="Todos" SelectionMode="Multiple"></asp:ListBox>
|
||||
</div>
|
||||
|
||||
<label runat="server" id="LblMarca" title="Proveedor" data-toggle="tooltip" data-placement="top" class="col-md-1" visible="false">Marca:</label>
|
||||
<div runat="server" id="DivMarca" class="col-md-2" visible="false">
|
||||
<asp:ListBox ID="DdlMarcaPSDes" CssClass="select2me" runat="server" DataTextField="Marca" DataValueField="CveMarca" Style="width: 100%" data-text="Todos" SelectionMode="Multiple"></asp:ListBox>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<asp:Panel ID="pnlOrden" Visible="false" runat="server" CssClass="row">
|
||||
<label class="col-md-1 truncate">Productos Servicios:</label>
|
||||
<div class="col-md-2">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
|
||||
<label class="col-md-1 truncate">Clasificación:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:ListBox ID="DdlClasificacion" AutoPostBack="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Style="width: 100%" data-text="Todos" SelectionMode="Multiple"></asp:ListBox>
|
||||
</div>
|
||||
<label runat="server" id="LblLinea" data-placement="top" class="col-md-1" visible="false">Linea:</label>
|
||||
<div runat="server" id="DivLinea" class="col-md-2" visible="false">
|
||||
<asp:ListBox ID="DdlLinea" CssClass="select2me" runat="server" DataTextField="ClasificacionDetalle" DataValueField="CveClasificacionDetalle" Style="width: 100%" data-text="Todos" SelectionMode="Multiple"></asp:ListBox>
|
||||
</div>
|
||||
|
||||
<label runat="server" id="LblMarca" title="Proveedor" data-toggle="tooltip" data-placement="top" class="col-md-1" visible="false">Marca:</label>
|
||||
<div runat="server" id="DivMarca" class="col-md-2" visible="false">
|
||||
<asp:ListBox ID="DdlMarcaPSDes" CssClass="select2me" runat="server" DataTextField="Marca" DataValueField="CveMarca" Style="width: 100%" data-text="Todos" SelectionMode="Multiple"></asp:ListBox>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<asp:Panel ID="pnlOrden" Visible="false" runat="server" CssClass="row">
|
||||
<label class="col-md-1 truncate">Orden:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlOrden" runat="server" CssClass="select2me" Width="100%">
|
||||
@@ -180,7 +182,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
</asp:Panel>
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
@@ -190,14 +192,13 @@
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron productos con los filtros especificados" ToolTip="Listado de Ventas"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" Style="text-align: center;" GridLines="None" Width="99%">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Grupo" ItemStyle-HorizontalAlign="Left">
|
||||
<asp:TemplateField HeaderText="Grupo" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlGrupo" runat="server" Text='<%# Eval("GPO") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
||||
<HeaderTemplate >
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
||||
<HeaderTemplate>
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlGrupoPS" runat="server" Text='<%# Eval("PS") %>'></asp:Literal>
|
||||
|
||||
@@ -4,10 +4,12 @@ Option Strict On
|
||||
Imports Extensiones
|
||||
Imports System.Data
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
|
||||
Imports GemBox.Spreadsheet
|
||||
Imports System.Globalization
|
||||
|
||||
Partial Class Ventas_RepPS
|
||||
Inherits ClsPaginas
|
||||
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "P R O P I E D A D E S"
|
||||
Private Property DtReporte As DataTable
|
||||
Get
|
||||
@@ -16,9 +18,9 @@ Partial Class Ventas_RepPS
|
||||
Set(value As DataTable)
|
||||
ViewState("DtReporte") = value
|
||||
End Set
|
||||
End Property
|
||||
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
|
||||
@@ -34,6 +36,10 @@ Partial Class Ventas_RepPS
|
||||
'DdlMarca.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
End If
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(320) Then
|
||||
LnkRepDiario.Visible = True
|
||||
End If
|
||||
|
||||
|
||||
CargaDatosIniciales()
|
||||
CargaCombos()
|
||||
@@ -179,9 +185,9 @@ Partial Class Ventas_RepPS
|
||||
End Sub
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
||||
CargaDatos()
|
||||
End Sub
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#Region " IMPRIMIR "
|
||||
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
|
||||
If GvDatos.Rows.Count > 0 Then
|
||||
@@ -227,8 +233,404 @@ Partial Class Ventas_RepPS
|
||||
Alert("No hay información para mostrar.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
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 DataSet As DataSet = New DataSet
|
||||
Dim ObjVentas As New ClsVentas()
|
||||
If ObjVentas.GetRepPSDiario(-1, -1, Now, 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(Now).ToUpper()}{Now.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 {Now.Day} DE {ToMonthName(Now).ToUpper()} DEL {Now.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 = (Now.Year - 1).ToString()
|
||||
worksheet.Cells(IdxRefAnioAnteriorLlantas, 2).Value = Now.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
|
||||
|
||||
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_{Now.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
|
||||
|
||||
Reference in New Issue
Block a user