- Хроники. - -

Чтение Excel файлов (XLS, XLSX) из C#

Posted By Ikutsin On 25 февраля 2009 @ 9:42 In .NET C# | Comments Disabled

Microsoft предоставляет несколько способов для решения этой задачи. Все они требуют предустановленного Office соответствующей версии.

  • Автоматизация Excel или другого Office приложения с помощью interop (m_objExcel = new Excel.Application();).
  • Доступ к файлу через ODBC (об этом методе пойдет речь в этой статье).
  • Использование OpenXML SDK (только для Office файлов с окончанием «X» — xlsx, docx).

Согласно сайту ConnectionStrings [1] строка до данных будет выглядеть таким образом

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 [2]. Исходной код на C# можно взять здесь [3]. А генератор кода для Entity — здесь [4].

Метод Main и класс Person являются примерами. Остальной код — функциональным.


Article printed from Хроники.:

URL to article: /847-chtenie-excel-fajlov-xls-xlsx-iz-c

URLs in this post:

[1] ConnectionStrings: http://www.connectionstrings.com/excel-2007

[2] блогом Solid Code: http://solidcoding.blogspot.com/2008/01/linq-to-excel-provider-25.html

[3] здесь: http://kjacobso2001.googlepages.com/LinqExcelProvider25.cs

[4] здесь: http://kjacobso2001.googlepages.com/LINQtoExcelCodeGen.html

Copyright © 2008 Все, что меня окружает. All rights reserved.