Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Formul21
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 3
1

Запись в dataGridView объединенных ячеек из excel

07.11.2016, 22:51. Просмотров 540. Ответов 1

Реализую заполнение элемента dataGridView данными из excel.

Все получается, добился заполнения dataGridView данными из excel по необходимой области, но столкнулся с проблемой импорта в dataGridView объединенных ячеек, в таблице dataGrid объеденные ячейки разъединяются и информация сохраняется в 1 из ячеек.

Можно ли как то реализовать загрузку объединенных ячеек из excel?

P.S. Не совсем понимаю в чем ошибка, но подозреваю что DataTable не поддерживает объеденные ячейки(и другую разметку), и сам импорт из excel не поддерживает сохранение "разметки" листа excel.

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
33
34
35
36
37
38
39
40
 private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.DefaultExt = "*.xls;*.xlsx";
            ofd.Filter = "Excel 2007(*.xlsx)|*.xlsx"; 
            ofd.Title = "Выберите файл для загрузки данных";
 
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = ofd.FileName;
 
                String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
                                ofd.FileName +
                                ";Extended Properties='Excel 12.0 XML;HDR=YES;IMEX=1;';";
 
                System.Data.OleDb.OleDbConnection con =
                    new System.Data.OleDb.OleDbConnection(constr);
                con.Open();
 
                DataSet ds = new DataSet();
                DataTable schemaTable = con.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,
                    new object[] { null, null, null, "TABLE" });
 
                string sheet1 = (string)schemaTable.Rows[0].ItemArray[2];
                string select = String.Format("SELECT * FROM [{0}A{1}:{2}]", sheet1, textBox2.Text, textBox3.Text);
 
                System.Data.OleDb.OleDbDataAdapter ad =
                    new System.Data.OleDb.OleDbDataAdapter(select, con);
 
                ad.Fill(ds);
                DataTable tb = ds.Tables[0];
                con.Close();
 
                dataGridView1.DataSource = tb;
            }
            else
            {
                MessageBox.Show("Файл для открытия не выбран");
            }
        }
И за компанию:
Так я заполняю dataGridView1 данными из tb, выводятся все данные из tb, но как получить только часть строк, по идее что то типа tb.Rows[...] но не как не могу дойти до того как именно.
C#
1
2
DataTable tb = ds.Tables[0];
dataGridView1.DataSource = tb;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2016, 22:51
Ответы с готовыми решениями:

Перенос данных из Excel или таблицы Word в DataGridView простым копированием ячеек
Нигде не могу найти, как организовать перенос данных из Excel или таблицы Word...

Взаимодействие с Excel, передача строки из DataGridView в столбец Excel
Всем привет. Есть DataGridView в котором всего 1 строка и 10 столбцов...

DataGridView закрашивание ячеек
Здравствуйте! У меня есть код: public int width; public int...

Сумма ячеек datagridview
Здравствуйте, столкнулся с проблемой, нужно посчитать сумму елементов двох...

Редактирование ячеек DataGridView
Доброго времени суток!!! Есть DataGridView со столбцом типа...

1
Serg34
90 / 90 / 33
Регистрация: 20.09.2014
Сообщений: 427
Записей в блоге: 3
Завершенные тесты: 1
09.11.2016, 11:03 2
Цитата Сообщение от Formul21 Посмотреть сообщение
проблемой импорта в dataGridView объединенных ячеек
Ни dataGridView ни DataTable не поддерживает объединение ячеек.
Цитата Сообщение от Formul21 Посмотреть сообщение
импорт из excel не поддерживает сохранение "разметки" листа excel
Из Excel импортируется только содержимое ячеек.
Цитата Сообщение от Formul21 Посмотреть сообщение
как получить только часть строк
Если Вам нужна фильтрация отображения строк, то попробуйте это, а лучше это
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2016, 11:03

Заполнение ячеек в DataGridView
Здравствуйте! есть вот такая таблица в datagridview. как прописать код в...

Значения ячеек datagridview
Здрасте. Есть необходимость очищать значения ячеек в datagridview, а затем...

DataGridView выделение ячеек
Доброе утро, в общем у меня имеется СУБД для управление Базой данных вокзала.И...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru