Чтение данных из таблиц Excel C#
Многие материалы которые я здесь описываю, я размещаю для самого себя, в основном чтобы мучительно долго не вспоминать как же оно делается и вновь пытать поисковики запросами.
На сей раз опишу простой пример доступа и выборки данных из таблиц Excel в C#. На днях пришлось сим заниматься и в очередной раз вспоминать как оно делается попроще, для больших задач с кучей разных наворотов информации в интернете много. А надо то оно, как обычно бывает, совсем простенько чтоб решало поставленную задачу.
Итак приступим:
Первым делом добавляем в наш проект (Add References...)
Microsoft.Office.Interop.Excel
Далее добавляем на форму:
TextBox — в него будем вводить номер столбца.
RichTextBox — в него выведем прочитанные из эксельки данные.
Button — по этой кнопочки всё выполняется.
OpenFileDialog — для выбора файла xls.
Далее в обработчике события нажатия кнопки пишем такой код:
//Открываем файл Экселя
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//Создаём приложение.
Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
//Открываем книгу.
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(openFileDialog1.FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
//Выбираем таблицу(лист).
Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
//Очищаем от старого текста окно вывода.
richTextBox1.Clear();
for (int i = 1; i < 101; i++)
{
//Выбираем область таблицы. (в нашем случае просто ячейку)
Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range(textBox1.Text + i.ToString(), textBox1.Text + i.ToString());
//Добавляем полученный из ячейки текст.
richTextBox1.Text = richTextBox1.Text + range.Text.ToString()+"\n";
//это чтобы форма прорисовывалась (не подвисала)...
Application.DoEvents();
}
//Удаляем приложение (выходим из экселя) - ато будет висеть в процессах!
ObjExcel.Quit();
}
Вот собственно и всё, должно работать.
Исходник можно скачать здесь:
Скачать файл: excelexamle.rar [37.67 Kb] (cкачиваний: 12)