Option Explicit On Option Strict On Imports System.Data Imports System.Drawing Imports System.IO Imports CrystalDecisions.CrystalReports.Engine Imports Extensiones Imports GemBox.Spreadsheet Imports Microsoft.Reporting.WebForms Imports Stimulsoft.Report.Export Partial Class Nomina_RepPersonalDIM Inherits ClsPaginas ReadOnly Property color_green_dark As Drawing.Color Get Return System.Drawing.Color.FromArgb(77, 179, 162) End Get End Property ReadOnly Property color_purple_intense As Drawing.Color Get Return System.Drawing.Color.FromArgb(135, 117, 167) End Get End Property ReadOnly Property color_blue As Drawing.Color Get Return System.Drawing.Color.FromArgb(53, 152, 220) End Get End Property ReadOnly Property color_blue_madison As Drawing.Color Get Return System.Drawing.Color.FromArgb(87, 142, 190) End Get End Property ReadOnly Property color_yellow As Drawing.Color Get Return System.Drawing.Color.FromArgb(196, 159, 71) End Get End Property Public Property Dt_Datos As DataTable Get If ViewState("Dt_Datos") Is Nothing Then ViewState("Dt_Datos") = New DataTable End If Return DirectCast(ViewState("Dt_Datos"), DataTable) End Get Set(value As DataTable) ViewState("Dt_Datos") = value End Set End Property Protected Sub Nomina_RepPersonalDIM(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then CargaEjercicios() DdlEjercicio.SelectedValueExist(UsuarioActual.Empresa.EjercicioActual) End If End Sub Private Sub CargaEjercicios() 'Dim ClsConta As New ClsContPAQi(UsuarioActual.Empresa) Dim ClsConta As New ClsContabilidad If ClsConta.GetEjercicios(UsuarioActual.CveEmpresa) Then DdlEjercicio.DataSource = ClsConta.DtResultados Else DdlEjercicio.DataSource = Nothing End If ClsConta.Dispose() DdlEjercicio.DataBind() DdlEjercicio.SelectedValueExist(UsuarioActual.Empresa.EjercicioActual.ToString) If DdlEjercicio.Items.Count = 0 Then DdlEjercicio.Items.Add(New ListItem(NowADS().Year.ToString, NowADS().Year.ToString)) End If End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub Private Sub CargaDatos() Dt_Datos = New DataTable LnkDescargaArchivo.Visible = False LnkExportar.Visible = False Dim ObjNom As New ClsNominas If ObjNom.GetRepPersonalDIM(Ejercicio:=DdlEjercicio.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa) Then GvDatos.DataSource = ObjNom.DtResultados Dt_Datos = ObjNom.DtResultados If Dt_Datos.Rows.Count > 0 Then LnkDescargaArchivo.Visible = True LnkExportar.Visible = True End If Else GvDatos.DataSource = Nothing End If ObjNom.Dispose() GvDatos.DataBind() UpAcciones.Update() UpGvCargaDatos.Update() End Sub #Region "DESCARGA EXCEL" Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click Imprimir("Excel") End Sub Private Sub ColoresCabeceraGrid() Dim countColumnas As Integer = 0 For Each gvColumn As DataControlField In GvDatos.Columns If countColumnas <= 27 Then GvDatos.Columns(countColumnas).HeaderStyle.BackColor = color_green_dark End If If countColumnas > 27 And countColumnas <= 45 Then GvDatos.Columns(countColumnas).HeaderStyle.BackColor = color_purple_intense End If If countColumnas > 45 And countColumnas <= 47 Then GvDatos.Columns(countColumnas).HeaderStyle.BackColor = color_blue End If If countColumnas > 47 And countColumnas <= 105 Then GvDatos.Columns(countColumnas).HeaderStyle.BackColor = color_blue_madison End If If countColumnas > 105 And countColumnas <= 124 Then GvDatos.Columns(countColumnas).HeaderStyle.BackColor = color_yellow End If countColumnas = countColumnas + 1 Next End Sub Private Sub Imprimir(Optional reporte As String = "PDF") ColoresCabeceraGrid() Dim row As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal) Dim cell As New TableHeaderCell() cell.Text = "ANEXO 1 INFORMACION DEL EMPLEADO ->" cell.ColumnSpan = 28 cell.HorizontalAlign = HorizontalAlign.Left 'cell.BackColor = Drawing.Color.FromArgb(77, 179, 162) cell.BackColor = color_green_dark row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 18 cell.Text = "ANEXO 1 PAGOS POR SEPARACION ->" cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_purple_intense row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 2 cell.Text = " ANEXO 1 ASIM SAL-> " cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_blue row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 58 cell.Text = "ANEXO 1 PAGOS DEL PATRÓN EFECTUADOS A SUS TRABAJADORES ->" cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_blue_madison row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 19 cell.Text = "ANEXO 1 IMPUESTO SOBRE LA RENTA (RESUMEN) ->" cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_yellow row.Controls.Add(cell) 'row.BackColor = ColorTranslator.FromHtml("#3AC0F2") GvDatos.HeaderRow.Parent.Controls.AddAt(0, row) ExportToExcelGembox(GvDatos, "RepPersonalDIM", UsuarioActual, "Reporte Personal DIM", "", DatosFiltros:=$"Ejercicio {DdlEjercicio.SelectedItem.Text}") End Sub Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub Protected Sub LnkDescargaArchivo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles LnkDescargaArchivo.Click Dim contenidoBytes As Byte() = Encoding.UTF8.GetBytes(ConvertirGVATexto()) Using memoryStream As New MemoryStream(contenidoBytes) Response.Clear() Response.ContentType = "text/plain" Response.AddHeader("Content-Disposition", $"attachment; filename=RepPersonalDIM{DdlEjercicio.SelectedItem.Text}.txt") memoryStream.WriteTo(Response.OutputStream) End Using Response.End() End Sub Public Function ConvertirGVATexto() As String Dim sb As New StringBuilder Dim countRows As Integer = 1 For Each GvRow As GridViewRow In GvDatos.Rows If Not countRows = 1 Then For Each cell As TableCell In GvRow.Cells For Each control As Control In cell.Controls If TypeOf control Is Label Then Dim label As Label = DirectCast(control, Label) sb.Append($"{label.Text.Trim.Replace("True", "1").Replace("False", "0")}|") End If Next Next sb.AppendLine() End If countRows = countRows + 1 Next Return sb.ToString End Function #End Region Protected Sub GvDatos_DataBound(sender As Object, e As EventArgs) ColoresCabeceraGrid() Dim row As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal) Dim cell As New TableHeaderCell() cell.Text = "ANEXO 1 INFORMACION DEL EMPLEADO ->" cell.ColumnSpan = 28 cell.HorizontalAlign = HorizontalAlign.Left 'cell.BackColor = Drawing.Color.FromArgb(77, 179, 162) cell.BackColor = color_green_dark row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 18 cell.Text = "ANEXO 1 PAGOS POR SEPARACION ->" cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_purple_intense row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 2 cell.Text = " ANEXO 1 ASIM SAL-> " cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_blue row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 58 cell.Text = "ANEXO 1 PAGOS DEL PATRÓN EFECTUADOS A SUS TRABAJADORES ->" cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_blue_madison row.Controls.Add(cell) cell = New TableHeaderCell() cell.ColumnSpan = 19 cell.Text = "ANEXO 1 IMPUESTO SOBRE LA RENTA (RESUMEN) ->" cell.HorizontalAlign = HorizontalAlign.Left cell.BackColor = color_yellow row.Controls.Add(cell) 'row.BackColor = ColorTranslator.FromHtml("#3AC0F2") GvDatos.HeaderRow.Parent.Controls.AddAt(0, row) End Sub Public Sub ExportToExcelGembox(GridView As GridView, NombreArchivoXLSx As String, Usuario As Usuario, Titulo As String, Optional DatoTituloExtra As String = "", Optional DatosFiltros As String = "", Optional AnchoImagen As Integer = 100, Optional AlturaImagen As Integer = 100, Optional DTExtra As DataTable = Nothing) Dim sw1 As New StringWriter() Dim htw1 As New HtmlTextWriter(sw1) GridView.RenderControl(htw1) Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault Dim htmlStream1 = New MemoryStream(options.Encoding.GetBytes(sw1.ToString())) htmlStream1.Position = 0 Dim sr1 As New StreamReader(htmlStream1) Dim myStr1 = sr1.ReadToEnd() sr1.Dispose() htmlStream1.Dispose() sw1.Dispose() Dim HtmlCompleto As String = myStr1 HtmlCompleto = Regex.Replace(HtmlCompleto, "\<[\/]*a[^\>]*\>", "") Dim htmlStream5 = New MemoryStream(options.Encoding.GetBytes(HtmlCompleto)) GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet) Dim excel As GemBox.Spreadsheet.ExcelFile excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream5, options) If Usuario IsNot Nothing Then Dim TotalRowHeader As Integer = 6 Dim TotalRowFooter As Integer = 2 Dim worksheet = excel.Worksheets(0) worksheet.Rows.InsertEmpty(0, TotalRowHeader) Dim celdasConTexto = worksheet.GetUsedCellRange(True) If celdasConTexto Is Nothing Then Exit Sub 'No se recuperaron datos, salir de sin guardar porque soltará error celdasConTexto.Style.Font.Name = "Calibri Light" Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex) RangoNombreEmpresa.Merged = True RangoNombreEmpresa.Value = Usuario.Empresa.Empresa RangoNombreEmpresa.Style.Font.Size = 18 * 20 RangoNombreEmpresa.Style.Font.Name = "Calibri Light" RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex) RangoTitulo.Merged = True RangoTitulo.Value = Titulo RangoTitulo.Style.Font.Size = 20 * 20 RangoTitulo.Style.Font.Name = "Calibri Light" RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center If DatoTituloExtra.Length > 0 Then Dim RangoDatoTituloExtra = worksheet.Cells.GetSubrangeAbsolute(TotalRowHeader, celdasConTexto.FirstColumnIndex, TotalRowHeader, celdasConTexto.LastColumnIndex) RangoDatoTituloExtra.Merged = True RangoDatoTituloExtra.Value = DatoTituloExtra RangoDatoTituloExtra.Style.Font.Size = 20 * 20 RangoDatoTituloExtra.Style.Font.Name = "Calibri Light" RangoDatoTituloExtra.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left RangoDatoTituloExtra.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center End If If DatosFiltros.Length > 0 Then Dim Arreglo As String() = DatosFiltros.Split("|"c) worksheet.Rows.InsertEmpty(TotalRowHeader, Arreglo.Count) For Each TextoFiltro As String In Arreglo Dim RangoDatoTituloExtra = worksheet.Cells.GetSubrangeAbsolute(TotalRowHeader, celdasConTexto.FirstColumnIndex, TotalRowHeader, celdasConTexto.LastColumnIndex) RangoDatoTituloExtra.Merged = True RangoDatoTituloExtra.Value = TextoFiltro RangoDatoTituloExtra.Style.Font.Size = 12 * 20 RangoDatoTituloExtra.Style.Font.Name = "Calibri Light" RangoDatoTituloExtra.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left RangoDatoTituloExtra.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center TotalRowHeader += 1 Next End If ' TotalRowHeader += 2 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("A8:AB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(61, 74, 26), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AC8:AT9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AU8:AV9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(59, 131, 189), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AW8:DB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("DC8:DS9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Cells.GetSubrange("A8:AB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(77, 179, 162), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Cells.GetSubrange("AC8:AT9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(135, 117, 167), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Cells.GetSubrange("AU8:AV9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(53, 152, 220), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Cells.GetSubrange("AW8:DB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(87, 142, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Cells.GetSubrange("DC8:DU9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(196, 159, 71), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Cells("DC8").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Size = 12 * 20 worksheet.Rows(TotalRowHeader).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left worksheet.Rows(TotalRowHeader).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom 'worksheet.Rows(TotalRowHeader).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(0, 0, 0) worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Size = 12 * 20 worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom ' worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(0, 0, 0) If i > 0 Then Try worksheet.Columns(i).AutoFit(1) Catch ex As Exception End Try End If Next Dim IndexEndTable As Integer = GridView.Rows.Count + TotalRowHeader + TotalRowFooter worksheet.Rows(IndexEndTable).Cells(1).Value = "Usuario Imprimió" worksheet.Rows(IndexEndTable + 1).Cells(1).Value = Usuario.Nombre worksheet.Rows(IndexEndTable).Cells(3).Value = "Fecha Impresión" worksheet.Rows(IndexEndTable + 1).Cells(3).Value = NowADS().ToString("dd/MM/yyyy") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)) If Imagen.Exists Then Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta) Using sr As New StreamReader(Ruta) Dim ms As New MemoryStream() sr.BaseStream.CopyTo(ms) worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel) End Using End If worksheet.Columns(0).Width = 4000 worksheet.Columns(1).Width = 4000 worksheet.Columns(2).Width = 5500 worksheet.Columns(3).Width = 10000 worksheet.Columns(4).Width = 5000 worksheet.Columns(5).Width = 5000 worksheet.Columns(6).Width = 10000 worksheet.Columns(7).Width = 5000 For I = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex If I > 7 Then worksheet.Columns(I).Width = 4500 End If Next If DTExtra IsNot Nothing Then Dim NombreTabla As String = "" If DTExtra.TableName IsNot Nothing Then NombreTabla = DTExtra.TableName End If If NombreTabla.Trim = "" Then NombreTabla = "hoja2" End If 'excel.Worksheets.Add(NombreTabla) Dim workbookDTExtra = New ExcelFile Dim worksheetDTExtra = workbookDTExtra.Worksheets.Add(NombreTabla) worksheetDTExtra.InsertDataTable(DTExtra, New InsertDataTableOptions() With { .ColumnHeaders = True, .StartRow = 0 }) Dim columnCount = worksheetDTExtra.CalculateMaxUsedColumns() For i As Integer = 0 To columnCount - 1 worksheetDTExtra.Columns(i).AutoFit(1, worksheetDTExtra.Rows(1), worksheetDTExtra.Rows(worksheetDTExtra.Rows.Count - 1)) worksheetDTExtra.Cells(0, i).Style.FillPattern.SetSolid(Drawing.ColorTranslator.FromHtml("#4b77be")) worksheetDTExtra.Cells(0, i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255) Next excel.Worksheets.AddCopy(NombreTabla, worksheetDTExtra) excel.Worksheets(0).Name = Titulo End If Dim indexRow As Integer = 8 Dim indexRowGV As Integer = 0 Dim cssClassRow As String = "" Dim CountRowFiltros As Integer = -1 If DatosFiltros.Trim.Length > 0 Then CountRowFiltros = 0 End If For indexRow = 8 To worksheet.Rows.Count - 4 Try cssClassRow = GridView.Rows(indexRowGV).CssClass.Trim() Select Case cssClassRow Case "Totales" worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.FillPattern.SetSolid(System.Drawing.ColorTranslator.FromHtml("#67809f")) worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Weight = 1000 worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Color = System.Drawing.ColorTranslator.FromHtml("#ddd") Exit Select Case "SubTotales2" worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.FillPattern.SetSolid(System.Drawing.ColorTranslator.FromHtml("#c0c0c0")) worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Weight = 1000 worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Color = System.Drawing.ColorTranslator.FromHtml("#000077") Exit Select Case "SubTotales" worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.FillPattern.SetSolid(System.Drawing.ColorTranslator.FromHtml("#dddddd")) worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Weight = 1000 worksheet.Cells.GetSubrangeRelative(indexRow + CountRowFiltros, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.Font.Color = System.Drawing.ColorTranslator.FromHtml("#67809F") Exit Select Case Else Exit Select End Select Catch ex As Exception End Try indexRowGV += 1 Next End If excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx") End Sub End Class Friend Class GridViewColumn End Class