C#

C# - Чтение их Excel файла

Добрый день!
Пересмотрел уже вагон видеоуроков, все начинают вопрос чтения их EXCEL откуда-то с середины. Мне бы отелось освоить самые азы. Напишите, плз, простейший код для консольного приложения, используя Microsoft.Office.Interop.Excel

Открыте ранее созданного эксель файла
Чтение в переменную данных из ячейки 1,1
Вывод значения этой пременной на экран в консоли.

Спасибо!
советую этот сайт http:// wladm.narod.ru/ C_Sharp/ comexcel.html

цитирую

Чтение информации из ячеек Excel во многом аналогично выводу (см. выше). На выбранном листе необходимо в выбранной книге выбрать одну ячейку или объединенную группу ячеек (метод get_Range или преобразование к Excel.Range)- после чего достаточно преобразовать значения в выделенных ячейках к нужному типу данных.

Создадим в Excel новую книгу, на первом листе запишем соответственно:

Ячейка Что записано
A1 В ячейке A2 число
A2 5
A3 В ячейке A4 число
A3 10,5
Сохраним документ с именем a1.xls в корне диска C.

Запишем и выполним следующий код:

private void button1_Click(object sender, EventArgs e)
{
int i = Convert.ToInt32(((Button)(sender)).Tag);
int viRez;
float vfRez;
string sStr;
switch(i)
{
case 1:
excelapp = new Excel.Application();
excelapp.Visible=true;
excelappworkbooks=excelapp.Workbooks;
//Открываем книгу и получаем на нее ссылку
excelappworkbook=excelapp.Workbooks.Open(@"C:\a1.xls",
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
excelsheets=excelappworkbook.Worksheets;
//Получаем ссылку на лист 1
excelworksheet=(Excel.Worksheet)excelsheets.get_Item(1);
//Выбираем ячейку для вывода A1
excelcells=excelworksheet.get_Range("A1",Type.Missing);
sStr=Convert.ToString(excelcells.Value2);
Text=sStr+" ";
excelcells=excelworksheet.get_Range("A2",Type.Missing);
viRez = Convert.ToInt32(excelcells.Value2);
Text+=Convert.ToString(viRez)+" ";
excelcells=excelworksheet.get_Range("A3",Type.Missing);
sStr=Convert.ToString(excelcells.Value2);
Text+=sStr+" ";
excelcells=excelworksheet.get_Range("A4",Type.Missing);
vfRez = Convert.ToSingle(excelcells.Value2);
Text+=Convert.ToString(vfRez)+" ";
break;
....
Код не требует пояснений - в заглавии приложения после выполнения будет выведено:

В ячейке A2 число 5 В ячейке A4 число 10,5
Сергей Думков
Сергей Думков
22 008
Лучший ответ
Евгений Куделькин Да, и его я тоже читал. Тоже с середины, не подходит ((
Не рекомендовал бы вам использовать Microsoft.Office.Interop.Excel. Возьмите какую-нибудь свободную библиотеку, типа EPPlus