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 являются примерами. Остальной код — функциональным.
Похожие статьи
- 15 сентября 2011 -- C#: Запуск Windows сервисов как консольных приложений (5)
- 25 марта 2010 -- Windows Phone 7, как оно? (12)
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
Раньше трудно было работать в этой программе, но сейчас она самая моя любимая! Спасибо!
28 сентября, 2010 at 15:57
А есть ли какая-нибудь программка для чтения файлов Ворда и Экселя которую можно бесплатно скачать? Так называемое Фри Вэир…
29 сентября, 2010 at 8:24
Если скачать, то как минимум OpenOffice. Ну а если интернет нормальный, то просто Google Docs.
30 ноября, 2011 at 6:52
Какими компонентами нужно связать Excel и C#
14 января, 2012 at 8:12
А если файлов очень много, какой из способов будет самым быстрым?
17 января, 2012 at 19:02
Можно поробовать NPOI