Как сделать сопоставление файла excel с помощью c #

Я хотел сделать сопоставление файла excel, но с определенными столбцами. Например, у меня есть exel-файл, на который нужно ссылаться второй столбец (файла excel), есть 1 столбец базы данных sql.

Это Form которую я использую: введите описание изображения здесь

У меня уже есть запрос sql, я просто хотел узнать, как я могу добавить в combobox имя столбцов в файле excel.

Это код, который я использую для поиска файла excel:

  using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Excel Workbook|*.xls", ValidateNames = true }) { DataSet result; if (ofd.ShowDialog() == DialogResult.OK) { FileStream fs = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read); IExcelDataReader reader = ExcelReaderFactory.CreateBinaryReader(fs); reader.IsFirstRowAsColumnNames = true; result = reader.AsDataSet(); comboBox1.Items.Clear(); foreach (DataTable dt in result.Tables) comboBox1.Items.Add(dt.TableName); reader.Close(); string ConecçãoDB = ConfigurationManager.ConnectionStrings["ConecçaoDB"].ConnectionString; string Table = ConfigurationManager.AppSettings["table"]; string ssqltable = Table; string ssqlconnectionstring = ConecçãoDB; filename = ofd.FileName; MessageBox.Show(Convert.ToString(filename)); var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\""; var conexao = new System.Data.OleDb.OleDbConnection(connectionString); var sql = "SELECT * FROM [" + comboBox1.SelectedText + "$]"; string sclearsql = "delete from " + ssqltable; } } 

Обновление моего ответа на основе вашего последнего комментария, поскольку я неправильно понял, что вам нужно.

Вам нужно получить доступ к объектной модели Excel, после чего у вас будет полный и легкий контроль над данными Excel.

Для твердого и простого ответа см .:

Microsoft Interop: имена столбцов Excel

При использовании предлагаемого кода убедитесь, что вы добавили следующую ссылку на свой код:

 using Microsoft.Office.Interop.Excel; 

Помните, что предоставленный ответ помещает имена столбцов в общий список строк.

После этого вы должны привязать его к полем со списком:

 BindingSource bs = new BindingSource(); bs.DataSource=columnNames ; comboBox1.DataSource = bs; 
  • Запрос сервера SQL Server из Excel
  • Использование SQL для запроса листа Excel без строки заголовка
  • DAX - создать динамический индексный столбец
  • Реорганизация данных в другом макете в Excel
  • Оператор SQL - INSERT с преобразованием BIT
  • Как вставить переменную в SQL-запрос, который является строкой
  • SQL находит разные данные из 1 поля в 1 таблице и объединяет 2 таблицы
  • Типизированные данные между Excel и VB.Net
  • Доступ к базе данных SQL в Excel-VBA
  • Ошибка Запрос таблицы с помощью ADODB с помощью VBA в Excel
  • Запись данных обратно в SQL из листа Excel
  • Interesting Posts

    Отображение некоторых значений из массива VBA excel

    Если вы хотите запустить локальный exe на удаленном компьютере, не имея повторений на удаленной машине

    Исправление ошибок: скопированные изображения в Excel 2016 VBA отображаются как пустые изображения

    Excel VBA: преобразование ячеек в диапазон с использованием адреса

    читать ячейки Excel в Stata global как переменные

    Ошибка сортировки для значения строки времени в сводной таблице

    Получить раздел пользователя на основе полного имени в Active Directory

    Сортировка текстовой информации на разные листы

    Назначение диапазонов в массив

    Почему макрос VBA открывает файл, из которого он был скопирован, а не лист в текущей книге?

    Как прописать все слова в таблице Excel с помощью NPOI C #

    Не удалось установить активный лист Excel C #

    Получение ссылки на уже существующую книгу для манипуляций

    Суммирование по ключевым словам

    удаленные имена в Wbk все еще существуют и ссылаются на места, которые не существуют, медленный Excel

    Давайте будем гением компьютера.