none
Cambiarle el color a las celdas de un Excel desde VB.NET RRS feed

  • Pregunta

  • Tengo un DataGridView el cual mediante un botón exporto su contenido a Excel lo que me gustaría saber es si existe una manera en la cual le pueda cambiar el color a las columnas pero solo a la primeras lineas osea a la cabecera de cada columna, aqui esta el codigo por el cual exporto la informacion a Excel :

    Public Sub Exportar_Excel(ByVal dgv As DataGridView, ByVal pth As String)
            Try
                Dim xlApp As Object = CreateObject("Excel.Application")
                Dim xlWB As Object = xlApp.WorkBooks.add
                Dim xlWS As Object = xlWB.WorkSheets(1)
                For c As Integer = 0 To EstTableDataGridView.Columns.Count - 1
                    xlWS.cells(1, c + 1).value = EstTableDataGridView.Columns(c).HeaderText
                Next
                For r As Integer = 0 To EstTableDataGridView.RowCount - 1
                    For c As Integer = 0 To EstTableDataGridView.Columns.Count - 1
                        xlWS.cells(r + 2, c + 1).value = EstTableDataGridView.Item(c, r).Value
                    Next
                Next
                xlWB.saveas(pth)
                xlWS = Nothing
                xlWB = Nothing
                xlApp.quit()
                xlApp = Nothing
                MessageBox.Show("Documento exportado correctamente")
            Catch ex As Exception
                MessageBox.Show("Error al Exportar domento")
            End Try
        End Sub
    
        Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
            Dim save As New SaveFileDialog
            save.Filter = "Archivo Excel | *.xlsx"
            If save.ShowDialog = Windows.Forms.DialogResult.OK Then
                Exportar_Excel(Me.EstTableDataGridView, save.FileName)
            End If
        End Sub
    Muchas Gracias ....


    viernes, 13 de noviembre de 2015 20:51

Respuestas

  •             For c As Integer = 0 To EstTableDataGridView.Columns.Count - 1
                    xlWS.cells(1, c + 1).value = EstTableDataGridView.Columns(c).HeaderText
                    xlWS.cells(1, c + 1).Interior.Color = RGB(154, 65, 43)
                Next
    
    Con Option Strict Off
    viernes, 13 de noviembre de 2015 22:37

Todas las respuestas

  •             For c As Integer = 0 To EstTableDataGridView.Columns.Count - 1
                    xlWS.cells(1, c + 1).value = EstTableDataGridView.Columns(c).HeaderText
                    xlWS.cells(1, c + 1).Interior.Color = RGB(154, 65, 43)
                Next
    
    Con Option Strict Off
    viernes, 13 de noviembre de 2015 22:37
  • Gracias funciona perfecto, ahora otra duda cuando exporto algo a Excel las celdas se me quedan pequeñas hay alguna manera de cambiar el tamaño de las celdas ? Gracias.
    lunes, 16 de noviembre de 2015 14:42