Экспорт данных из DataGridView в Excel - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Необходимо экспортировать в Excel, но после того как кликаю по кнопке, то выходит сообщение: "Необработанное исключение типа "System.NullReferenceException" произошло в AccessTest.exe Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта". Не пойму что не так. У остальных работает. Код вроде правильный. В Excel экспортируется, но не сохраняется файл и приложение не закрывается.
Листинг программы
  1. Public Class Form1
  2. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  3. Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
  4. Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
  5. Dim misValue As Object = System.Reflection.Missing.Value
  6.  
  7. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  8. Dim i As Integer
  9. Dim j As Integer
  10. xlApp = New Microsoft.Office.Interop.Excel.Application
  11. xlApp.Visible = True
  12. xlWorkBook = xlApp.Workbooks.Add(misValue)
  13. xlWorkSheet = xlWorkBook.Sheets("Лист1")
  14. For i = 0 To DataGridView1.RowCount - 1
  15. For j = 0 To DataGridView1.ColumnCount - 1
  16. For k As Integer = 1 To DataGridView1.Columns.Count
  17. xlWorkSheet.Cells(1, k) = DataGridView1.Columns(k - 1).HeaderText
  18. xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString()
  19. Next
  20. Next
  21. Next
  22. xlWorkSheet.SaveAs("C:\экспорт.xlsx")
  23. xlWorkBook.Close()
  24. xlApp.Quit()
  25. ReleaseObject(xlApp)
  26. ReleaseObject(xlWorkBook)
  27. ReleaseObject(xlWorkSheet)
  28. MsgBox("Ваш файл сохранен в C:\экспорт.xlsx")
  29. End Sub
  30. Private Sub ReleaseObject(ByVal obj As Object)
  31. 'процедура выгрузки объектов из памяти
  32. Try
  33. System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
  34. obj = Nothing
  35. Catch ex As Exception
  36. obj = Nothing
  37. Finally
  38. GC.Collect()
  39. End Try
  40. End Sub
  41. End Class

Решение задачи: «Экспорт данных из DataGridView в Excel»

textual
Листинг программы
  1. xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут