Будет намного проще, если вы сделаете следующее:
Щелкните правой кнопкой мыши проект в обозревателе решений
Выберите Добавить новый...
Добавление нового набора данных в проект
Дважды щелкните набор данных, появится что-то похожее на конструктор базы данных
Щелкните правой кнопкой мыши область конструктора, выберите New DataTable, назовите его соответствующим образом
Несколько раз щелкните правой кнопкой мыши DataTable, выберите Добавить столбец и добавьте все столбцы, которые хотите сохранить.введите данные для каждого столбца, например, String, Int, Boolean и т. д.
Сохраните свой DataSet
Переключитесь обратно на дизайнер форм,перейдите в соответствующее меню, чтобы отобразить окно «Источники данных» для вашей версии Visual Studio.Google, если вы не знаете, как это показать.Например, для версии 2017: https://docs.microsoft.com/en-us/visualstudio/data-tools/add-new-data-sources?view=vs-2017#data-sources-window
В окне источников данных есть дерево, а один из узлов - ваша DataTable.Перетащите его на дизайнер форм.Появится сетка данных со столбцами, подходящими для типов данных.Столбцы Bool являются флажком.Представление datagrid связано с объектом DataSet, который содержит экземпляр вашей таблицы данных.Все, что вы вводите в сетку, сохраняется в таблице данных.Вы можете удалить BindingNavigator, который появляется, если вы не хотите его
Щелкните правой кнопкой мыши решение в обозревателе решений, выберите Управление пакетами Nuget для решения
В диспетчере пакетов слепков нажмите кнопку Обзор, а затем введите EPPLUS в поле поиска.Установите библиотеку epplus в свой проект.Закройте менеджер пакетов nuget
Дважды щелкните кнопку сохранения в форме.Добавьте ~ 3 строки кода, необходимые для того, чтобы epplus создал ваш файл Excel из таблицы DataTable.Дополнительную информацию можно найти здесь: Экспорт DataTable в Excel с EPPlus
по этой ссылке, вам нужно подставить имя вашей DataTable в LoadFromDataTableвызов.Он находится внутри DataSet на вашем устройстве, поэтому будет выглядеть примерно так: yourDataSetName.YourDataTabkeName
Выше представлен вариант концепции, называемой MVC-модель, вид, контроллер.Суть этого в том, что ваши данные живут в специальном контейнере, называемом моделью (в этом примере DataSet / DataTable), и они отображаются на экране представлением (datagridview) и снова контролируются / изменяются чем-то другим (хотя в этомпример и во многих, datagridview также является контроллером, в некоторой степени).Дни создания сложного элемента управления в форме, например вида сетки, и хранения данных внутри него, должны были закончиться с помощью VB6 :).Хотя иногда все же удобнее хранить данные, например, в текстовых полях, и извлекать их с помощью textbox.Text для простых сценариев, все эти элементы управления поддерживают привязку данных, и идея, что если ваша программа обрабатывает несколько записей данных и просматривает их, означает, чтовсе данные должны храниться в модели, все элементы управления, которые их отображают и редактируют, подключаются к модели, и все они понимают концепцию навигации по модели - вы изменяете текущую запись, на которую ссылаетесь в модели, и весь текстполя и т.д. изменяют данные, которые они показывают, автоматически.Вы не заходите в каждый элемент управления и не вставляете туда данные неоднократно, а потом сами копаете их
Как только вы понимаете парадигму MVC, это открывает вам возможность использовать функциональность, на которую другие разработчики нацелены и в этом случае.EPPlus, вы можете просто передать ему модель данных (DataSet / DataTable) и сказать «здесь, запишите это в файл», и он это сделает.Вы не можете передать свое сетевое представление в epplus, поскольку данные не должны храниться в сетевом представлении в соответствии с принципами MVC, поэтому epplus не поддерживает копирование данных из него
Если ничего другого, надеюсь, вы сможете оценить, что приведенный выше набор шагов, хотя и выглядит длинным, когда я его набрал, на самом деле требует меньше времени, меньше щелчков мышью и значительно меньше строк кода, чем вы уже написали до сих пор..