armarzook Ответов: 1

Экспорт datagridview в excel с заголовками столбцов


Я использовал следующий код для извлечения содержимого datagridview на лист excel. Но дело в том, что я не могу получить заголовки столбцов в листе excel. Пожалуйста, помогите мне получить заголовок столбца в листе excel.
Dim ExcelApp As Object, ExcelBook As Object
Dim ExcelSheet As Object
Dim i As Integer
Dim j As Integer

'create object of excel
ExcelApp = CreateObject("Excel.Application")
ExcelBook = ExcelApp.WorkBooks.Add
ExcelSheet = ExcelBook.WorkSheets(1)

With ExcelSheet
     For i = 1 To Me.DataGridView1.RowCount
           .cells(i, 1) = Me.DataGridView1.Rows(i - 1).Cells("id").Value
           For j = 1 To DataGridView1.Columns.Count - 1
               .cells(i, j + 1) = DataGridView1.Rows(i - 1).Cells(j).Value
           Next
     Next
End With

ExcelApp.Visible = True
'
ExcelSheet = Nothing
ExcelBook = Nothing
ExcelApp = Nothing

1 Ответов

Рейтинг:
5

fjdiewornncalwe

Прежде чем выполнить цикл по всем строкам в DataGridView, выполните цикл по всем столбцам и добавьте headertext в ExcelSheet.

With ExcelSheet
   For Each column As DataGridViewColumn In DataGridView1.Columns
      .cells( 1, column.Index + 1 ) = column.HeaderText
   Next 
   For i = 1 To Me.DataGridView1.RowCount
      .cells(i + 1, 1) = Me.DataGridView1.Rows(i - 1).Cells("id").Value
      For j = 1 To DataGridView1.Columns.Count - 1
         .cells(i + 1, j + 1) = DataGridView1.Rows(i - 1).Cells(j).Value
      Next
   Next
End With


Member 14969413

спасибо тебе за это. действительно помог моей проблеме.