Я настоятельно рекомендую CSharpJExcel для чтения файлов Excel 97-2003 (xls) и ExcelPackage для чтения файлов Excel 2007/2010 (Формат Office Open XML, xlsx).
Они оба работают отлично. Они абсолютно не зависят ни от чего.
Образец с использованием CSharpJExcel :
Workbook workbook = Workbook.getWorkbook(new System.IO.FileInfo(fileName));
var sheet = workbook.getSheet(0);
...
var content = sheet.getCell(colIndex, rowIndex).getContents();
...
workbook.close();
Образец с использованием ExcelPackage :
using (ExcelPackage xlPackage = new ExcelPackage(existingFile))
{
// get the first worksheet in the workbook
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets[1];
int iCol = 2; // the column to read
// output the data in column 2
for (int iRow = 1; iRow < 6; iRow++)
Console.WriteLine("Cell({0},{1}).Value={2}", iRow, iCol,
worksheet.Cell(iRow, iCol).Value);
// output the formula in row 6
Console.WriteLine("Cell({0},{1}).Formula={2}", 6, iCol,
worksheet.Cell(6, iCol).Formula);
} // the using statement calls Dispose() which closes the package.
РЕДАКТИРОВАТЬ :
Есть еще один проект, ExcelDataReader , который, похоже, способен обрабатывать оба формата. Это также легко, как и другие, которые я упомянул.
Есть и другие библиотеки:
NPOI: Порт библиотеки Apache POI для .NET :
Очень мощный, бесплатный и с открытым исходным кодом. В дополнение к Excel (97-2010) он также поддерживает файлы Word и PowerPoint.
ExcelLibrary
Он поддерживает только файлы Excel 97-2003 (xls).
EPPlus
Расширение для ExcelPackage. Проще в использовании (наверное).