Быстрая выгрузка из DataGridView1 в Excel - Visual Basic .NET

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

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

Всем привет. Столкнулся с проблемой выгрузки данных из DataGridView1 в Excel Почти все примеры, которые есть в Интернете показывают 1 метод - циклом For Next по ячейкам Excel.
Данный метод крайне медленный. По практике работы с Excel могу сказать, что самый быстрый способ взять с листа и записать на лист является способ через использование массива. Взять информацию с листа:
вернуть данные на лист:
а не так
Отсюда вопрос - как можно "взять" данные из DataGridView1 в массив или DataSet (DataTable) Обращение циклом к ячейкам листа Excel - очень медленный процесс, но можно было бы, например, создать двумерный массив, циклом загрузить в него данные из DataGridView1 и уже одной строчкой выгрузить массив на лист Excel, типа:
Подскажите, как можно взять данные из DataGridView1 в массив ? Обязательно ли это делать циклом? Хорошо бы, что-то такого было бы Dim ds As New DataSet Dim dt As DataTable ds = Me.DataGridView1.DataSource или dt = Me.DataGridView1.DataSource Но ни то, ни то не работает. P.S. Загружаю данные в DataGridView1 вот так
Пока нашёл/доработал такой способ. Но есть косяк. В одном столбце есть даты, даты забираются из Excel и вставляются в DataGridView1 и дата в DataGridView1 отображается корректно, а вот этим ниже представленным способом дата из DataGridView1 после вставки на лист получается уже другого формата, т.е. вместо нужной даты "01.01.2005" в ячейку вставляется "01.01.2005 0:00:00" Может кто знает, почему формат даты меняется?

Решение задачи: «Быстрая выгрузка из DataGridView1 в Excel»

textual
Листинг программы
Imports Microsoft.Office.Interop.Excel

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


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

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

14   голосов , оценка 3.857 из 5