Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
27 / 19 / 14
Регистрация: 17.09.2011
Сообщений: 113

Импорт данных из Excel в компонент datagridview

20.12.2012, 19:50. Показов 3966. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня такой вопрос: каким образом можно импортировать данные из Excel в компонент datagridview в среде Visual Studio (2005)?
У меня есть файл Excel, на первом листе которого находится таблица. Первая строка этой таблицы - заголовки столбцов. Их импортировать не нужно. А вот все что находится ниже первой строки - начиная со второй строки и до конца таблицы необходимо импортировать в datagridview.
Я пробовал таким способом:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
           
            OpenFileDialog opf = new OpenFileDialog();
            opf.Filter = "Excel (*.XLS)|*.XLS";
            opf.ShowDialog();
            System.Data.DataTable tb = new System.Data.DataTable();
            string filename = opf.FileName;
 
            Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel._Workbook ExcelWorkBook;
            Microsoft.Office.Interop.Excel.Worksheet ExcelWorksheet;
            ExcelWorkBook = ExcelApp.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
 Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            ExcelWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1);
 
            for (int i = 0; i < 3; i++)
            {
                dataGridView1.Rows.Add(1);
                for (int j = 0; j < 2; j++)
                {
                    if (Convert.ToString(ExcelApp.Cells[i + 1, j + 1]) != "")
                    {
                       
                        dataGridView1.Rows[i].Cells[j].Value = Convert.ToString(ExcelApp.Cells[i + 1, j + 1]);
                    }
                    if (ExcelApp.Cells[i + 1, j + 1] == null)
                    {
                        break;
                    }
                }
            }
Но что-то не выходит. Помогите пожалуйста очень нужно. У моего Excel версия 12.0.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2012, 19:50
Ответы с готовыми решениями:

Импорт таблицы из MS Excel 2007-2010 в компонент datagridview
У меня проблема. Есть код импортирующий таблицу (с заголовками) из MS Excel 97-2003 в компонент datagridview: OpenFileDialog opf = new...

Импорт данных из excel в DataGridView
Здравствуйте, нужна Ваша помощь. Необходимо организовать импорт данных их Excel в datagridview c#. Возможно что-то не так с первой строкой,...

Импорт из Excel в dataGridView
Ребят помогите: Нужно, чтоб при нажатие на кнопку в грид копировались данные, но только таблицы с данными , а весь остальной текст он...

1
 Аватар для mbigun
136 / 136 / 46
Регистрация: 21.04.2009
Сообщений: 178
27.12.2012, 20:31
Как вариант
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private DataTable Load_File(string path, string SheetName)
        {
            DataTable dt = new DataTable();
            string cs = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 12.0;HDR=YES'";
            try
            {
                OleDbConnection con = new OleDbConnection(cs);
                string query = string.Format("SELECT * FROM [{0}$]", SheetName);
                OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, con);
                dAdapter.Fill(dt);
            }
            catch{} 
            return dt;
        }
Дальше используешь эту функцию как
C#
1
datagridview.DataSource = Load_File(@"C:\temp", "Sheet1");
В строке подключения параметр HDR=YES указывает на то, что первая строка из ексель будет содержать названия полей, в случае HDR= NO она будет игнориться.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2012, 20:31
Помогаю со студенческими работами здесь

Чтение excel файла в Datagridview и импорт в sql сервер
Добрый день. Может есть у кого нибудь готовое решение ? Если нет, я столкнулся с такой проблемой. Прочитать и видеть в...

Импорт данных из XML файла в DataGridView
Как сделать импорт данных из XML файла в DataGridView? Как читать и загружать xml файл разобрался, но как именно передать в колонки ...

Экспорт/Импорт данных из dataGridView в файл
Доброго дня/ночи! Прошу помочь с сохранением/загрузкой данных из dataGridView. По куче примеров и решений состряпал &quot;нечто&quot;....

Импорт данных из Excel в БД SQL
Доброе время суток! Помогите народ, диплом горит :help::help::help: Как реализовать перенос данных из Excel в базу данных SQL. Перерыл кучу...

Импорт данных из Excel в MS SQL
Добрый день. Знаю что много таких вопросов и большую часть из них я просмотрел не найдя ответа. Задача такая: Запускается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru