|
8 / 12 / 2
Регистрация: 25.12.2017
Сообщений: 280
|
|
Импорт данных из листов Excel в несколько DataGridView для каждого листа17.10.2021, 10:54. Показов 1053. Ответов 13
Метки нет (Все метки)
Добрый день. Подключил библиотеку Microsoft.Office.Interop.Excel. Возникла задача - есть файл Excel .xlsx с 6 таблицами. Нужно подключить XLSX к DataGridView, но так, чтобы каждому листу файла XLSX соответствовала своя DataGridView - выгрузить файл, и его листы отдельно в каждую таблицу. То есть, подразумевается работа с хранилищем данных - 6 листов в файле, и на каждый 6 сеток. Как это можно сделать лучше всего?
Дальше полагается, после выгрузки 6 листов файла в 6 сеток, далее вставка/изменение/поиск/удаление прямо в сетке с сохранением в файл. В моем случае файл искать и открывать не нужно, файл должен иметь определенное постоянное имя, и должен сам подключаться при запуске программы. Заранее благодарю за помощь, да и другим людям может быть полезно, так как тема на несколько листов и для каждого своя таблица - встречается редко.
0
|
|
| 17.10.2021, 10:54 | |
|
Ответы с готовыми решениями:
13
Импорт данных из нескольких листов Excel в DataGridView Копирование данных с одного листа на несколько других листов Импорт данных из excel в DataGridView |
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,826
|
|
| 17.10.2021, 10:59 | |
|
0
|
|
|
8 / 12 / 2
Регистрация: 25.12.2017
Сообщений: 280
|
||
| 17.10.2021, 11:08 [ТС] | ||
|
Добавлено через 4 минуты Это что-то вроде БД без связей, чтобы просто программа при переносе на другие компьютеры таскала с собой файл-справочник с таблицами на листах, и открывала каждый лист в отдельной сетке.
0
|
||
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,826
|
|||
| 17.10.2021, 11:10 | |||
|
Добавлено через 1 минуту
0
|
|||
|
8 / 12 / 2
Регистрация: 25.12.2017
Сообщений: 280
|
|||
| 17.10.2021, 11:14 [ТС] | |||
|
Загрузить листы файла в несколько таблиц на вкладках, и там обрабатывать информацию и сохранять изменения. В статьях большинство примеров написаны заумно, и сделаны под другие требования, и они мне не подошли, даже для теста. Хотелось бы что-то маленькое и по частям. Добавлено через 2 минуты
0
|
|||
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,826
|
||
| 17.10.2021, 11:26 | ||
|
Сложность может быть в том, что таблица Эксель может содержать формулы, объединённые ячейки, разное форматирование, гиперссылки, связи и т.п. фичи.
0
|
||
|
8 / 12 / 2
Регистрация: 25.12.2017
Сообщений: 280
|
||
| 17.10.2021, 11:28 [ТС] | ||
|
Имя файла постоянное, и надо его подгружать вместе с запуском программы - 6 листов появятся в 6 отдельных таблицах программы. Аналогично, как в базах данных - таблицы грузятся в несколько ячеек, только тут простой файл с листами, в которых таблицы, которые надо загрузить по сеткам. БД просто так не потаскать с собой, потому что надо на компах наличие СУБД, а она есть только на моем, и на другом его нет. Потому так как тут справочник, и связей между таблицами нет вовсе, тут выгоднее чтобы программа таскала с собой файл с листами ( в них таблицы)
0
|
||
|
fly
4951 / 4635 / 844
Регистрация: 13.04.2015
Сообщений: 9,826
|
||
| 17.10.2021, 11:32 | ||
|
Какой смысл отображать сразу все шесть листов в таком случае, хоть даже это сделать очень просто?
0
|
||
|
8 / 12 / 2
Регистрация: 25.12.2017
Сообщений: 280
|
||
| 17.10.2021, 11:41 [ТС] | ||
|
Главное в проекте - подгрузить файл с постоянным названием с запуском программы, отобразить его шесть листов на 6 DGV на 6 вкладках TabControl, отредактировать данные в DGV (вставить/удалить/изменить/удалить/найти) и сохранить внесенные изменения в DGV в XLSX файл. И далее по новой обработать через программу, когда сведения изменятся. Основной смысл этого решения уже позднее, когда потребуется в отдельных пунктах меню работать с данными, и потом определенные строки через контекстное меню отсылать по почте и телефону. Тут отличие только в том, что сначала решение строилось на БД без связей в виде справочника, но потом выяснилось, что лучше таскать простой файл с таблицами, к обработке которого прикрутить дополнительные опции. Добавлено через 3 минуты В справочных системах автоматизации работа с сетками сплошь и рядом практикуется, и данные редактируются через дополнительные меню.
0
|
||
|
|
||||||||||||
| 18.10.2021, 09:33 | ||||||||||||
|
Используйте ADO .NET. Строка подключения для Excel:
И примерно вот такой BaseDA для SQL и Excel
0
|
||||||||||||
| 18.10.2021, 11:35 | ||||||
|
Скажите а вы с одного листа можете выгрузить данные? Если да то что мешает сделать перебор всех листов экселя, т.е. импортировали 1 лист, потом второй и т.д. например как я делал только у меня запись в эксель:
0
|
||||||
|
|
||||||
| 18.10.2021, 11:43 | ||||||
|
Jim Reinor, забыл сам запрос для Excel показать
[tblDrawSpec$] - название листа в книге Excel.
0
|
||||||
| 18.10.2021, 13:38 | ||||||
|
Вот так если через Microsoft.Office.Interop.Excel
0
|
||||||
|
8 / 12 / 2
Регистрация: 25.12.2017
Сообщений: 280
|
|
| 18.10.2021, 14:31 [ТС] | |
|
Для меня эта тема уже не актуальна, после того, как в воскресенье вечерком разобрался с подключением БД в обход критической ошибки несовместимости и выводами данных в таблицу)
Однако все еще может помочь тем, кто захочет реализовать именно так - таскать файл с таблицами в Excel, и каждый лист грузить в каждую отдельную сетку)
0
|
|
| 18.10.2021, 14:31 | |
|
Помогаю со студенческими работами здесь
14
Импорт данных из Excel в DataGridView
Импорт данных из Excel в DataGridView
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|