Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Eugene1997
0 / 0 / 0
Регистрация: 29.07.2017
Сообщений: 9
#1

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

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

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

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

Импорт данных из excel - C#
Привет. Помогите пожалуйста. Никак не могу разобраться с импортом данных из Excel файла. string conStr =...

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

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

Импорт/Экспорт данных Excel - C#
Просьба помочь начинающим. Пытаюсь сделать импорт/экспорт с экселем но пока тщетно. Знания на уровне начинающего. Суть такова. ...

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

3
ViterAlex
6273 / 3477 / 1062
Регистрация: 11.02.2013
Сообщений: 7,661
Завершенные тесты: 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
6273 / 3477 / 1062
Регистрация: 11.02.2013
Сообщений: 7,661
Завершенные тесты: 3
30.07.2017, 13:04 #4
Eugene1997, пробуй. Если ошибок не выдаёт
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2017, 13:04
Привет! Вот еще темы с ответами:

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

Комбобокс - C#
Народ мну забыл как им пользоваться вообщем список создаю но не помню как созданную строчку с программой связать у меня майкрософт визуал...

Строки в комбобокс - C#
У меня в combobox1 три строки Один Два Три В зависимости от того, какое значение принимает combobox, оператор условие будет...

.NET 4.x Заполнить комбобокс - C#
IEnumerable<int> seq = Enumerable.Range(1, 100); cmbCount.DataSource = new List<string>(Array.ConvertAll(seq.ToArray(), s =>...


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

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

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