Microsoft предоставляет несколько способов для решения этой задачи. Все они требуют предустановленного Office соответствующей версии.
- Автоматизация Excel или другого Office приложения с помощью interop (m_objExcel = new Excel.Application();).
- Доступ к файлу через ODBC (об этом методе пойдет речь в этой статье).
- Использование OpenXML SDK (только для Office файлов с окончанием «X» – xlsx, docx).
Согласно сайту ConnectionStrings строка до данных будет выглядеть таким образом
Provider=Microsoft.ACE.OLEDB.12.0; Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml; HDR=YES";
После этого его можно читать стандартным ADO.NET способом. А можно и не стандартным, например LINQ. Хороший LINQ to Excel провайдер предложен блогом Solid Code. Исходной код на C# можно взять здесь. А генератор кода для Entity – здесь.
Метод Main и класс Person являются примерами. Остальной код – функциональным.
Похожие статьи
- Нет похожих статей.



6 июля, 2009 at 10:42
Спасибо огромное за пример.
3 декабря, 2009 at 13:02
+1 к первому комменту
7 декабря, 2009 at 14:37
Чет ниче я не поняла из прочитанного, кроме смысла.
9 декабря, 2009 at 13:21
А что это за программка такая «C#»?
10 декабря, 2009 at 12:55
С# – это не программа. Это такой язык программирования.
27 декабря, 2009 at 14:04
[url=http://chinabrend.ru/]Antoninich[/url]
Статья для программистов. Простому смертному трудно разобраться.
10 января, 2010 at 20:08
С ума сойти)) Мне даже в голову не приходило, что из программы на дотнете можно читать файлы Excel при помощи ADO.NET, а уж тем более через LINQ или Entity. Всегда использовал объекты автоматизации со всеми их «прелестями».
19 января, 2010 at 21:46
познавательно, может когда нибудь пригодится.
1 февраля, 2010 at 8:58
Раньше трудно было работать в этой программе, но сейчас она самая моя любимая! Спасибо!