Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Eugene1997
0 / 0 / 0
Регистрация: 29.07.2017
Сообщений: 9
1

Импорт из Excel в комбобокс

29.07.2017, 19:55. Просмотров 242. Ответов 3

Привет всем. Есть программа windows form, которая генерирует шаблоны Word. На форме есть комбобокс, в нем определенные данные. Но нужно сделать справочник, я хочу сделать в екселе, который может обновляться. Например, занес некоторые данные в ексель файл, и они появились в комбобоксе. Через какое-то время нужно обновить справочник и вносятся новые данные, и вот уже в комбобоксе появляются новые данные в соответствии с изменением в справочнике. Это нужно для того, чтобы лишний раз код программы не переписывать, чтобы самый обычный пользователь открыл ексель, изменил данные, и в программе новые данные.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2017, 19:55
Ответы с готовыми решениями:

Импорт таблиц в Excel
Есть программа в которой много форм, почти на каждой форме таблицы и графики,...

Импорт данных из excel
Привет. Помогите пожалуйста. Никак не могу разобраться с импортом данных из...

Импорт из 2 файлов Excel
В общем есть программа автоматизации торговли и БД Mssql НО, я опущу это так...

Импорт из Excel
Как можно импортировать из Excel таблицы данные в двумерный массив в C#, тип...

Импорт из excel и экспорт в word
Добрый день. Есть шаблон Word, в котором есть поля, такие как "форматированный...

3
ViterAlex
6838 / 3800 / 1553
Регистрация: 11.02.2013
Сообщений: 8,346
Завершенные тесты: 3
29.07.2017, 22:20 2
Задача простая, но муторная в реализации, если делаешь в первый раз.
Должен быть установлен провайдер Microsoft.ACE.OLEDB.12.0, чтобы читать xlsx файлы как источники данных.
Делаем класс, который будет читать файл и отдавать DataSet, который можно биндить к ComboBox:
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
class ExcelReader
{
    private string _path;
    public DataSet DataSet { get; set; }
    public string Sheet { get; set; }
    public string Range { get; set; }
 
    public ExcelReader(string path)
    {
        _path = path;
    }
 
    public void Connect()
    {
        var conString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';Extended Properties="Excel 12.0 Xml;HDR=NO;"", _path);
        using (var con = new OleDbConnection(conString))
        using (var command = new OleDbDataAdapter(string.Format("select * from [{0}${1}]", Sheet, Range), con))
        {
            if (DataSet != null)
            {
                DataSet.Dispose();
                DataSet = null;
            }
            DataSet = new DataSet();
            command.Fill(DataSet);
        }
    }
}
Читать так:
C#
1
2
3
4
5
6
7
8
9
var r = new ExcelReader(@"ПутьКФайлу")
{
    Sheet = "Лист1", //С какого листа
    Range = "A1:G14"//Какой диапазон. В обычном формате Excel
};
 
r.Connect();
comboBox1.DataSource = r.DataSet.Tables[0];
comboBox1.DisplayMember = "F1";
Пробуй. Буду удивлён, если получится сразу
0
Eugene1997
0 / 0 / 0
Регистрация: 29.07.2017
Сообщений: 9
30.07.2017, 12:39  [ТС] 3
Перешел на сайт Microsoft и установил провайдер этот. Сейчас сделал новый проект, чтобы проверить. Там только комбобокс. Далее добавил класс и занес этот код. Все верно? Или нужно добавить ссылки на службы? и какие
0
ViterAlex
6838 / 3800 / 1553
Регистрация: 11.02.2013
Сообщений: 8,346
Завершенные тесты: 3
30.07.2017, 13:04 4
Eugene1997, пробуй. Если ошибок не выдаёт
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2017, 13:04

Импорт данных из ячейки Excel
Столкнулся с такой проблемой. Нужно переменной присвоить значение которое...

Импорт/Экспорт данных Excel
Просьба помочь начинающим. Пытаюсь сделать импорт/экспорт с экселем но пока...

Импорт данных из Excel-файла завершается с ошибкой
Пишу вот: public void GetDataTableExcel(string fileName) { ...


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

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

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