Ответ 1
Вы можете попробовать все из них и выбрать тот, который вам больше всего подходит...
В зависимости от данных, которые вы хотите прочитать, я предлагаю вам использовать Open XML через Interop или Ole DB.
Я не знаю открытого XML SDK, хотя у меня есть опыт работы с библиотекой EPPlus, которую я использую много и могу сказать только хорошие слова об этом - это быстро, легко учиться, с хорошими примерами. Библиотека основана на формате Open Office XML, поэтому я предполагаю, что она почти такая же, как и SDK, о которой вы упомянули, и способна легко читать и записывать файлы Excel 2007 и 2010.
В связанном Интернете вы найдете самую библиотеку, документацию и некоторые примеры проектов Hello World для загрузки.
Почему эта библиотека в первую очередь? Потому что с ним вы сможете читать не только значения ячеек, но и их цвета, шрифты, ширины и высоты, слияние и все, что детализировано, что вы можете не только читать, но и модифицировать. Что еще, вам не нужен установленный Excel для этого.
На втором месте - на всякий случай вам нужно извлечь табличные данные из рабочего листа - вы можете играть с OLE DB. Я боюсь, что вы не сможете извлечь какую-либо информацию о форматах, цветах и т.д., А также данные должны быть в табличном организованном листе, поэтому вы можете рассматривать это как таблицу базы данных.
Последний - Interop, потому что:
- это COM-библиотека, поэтому вам нужно быть очень осторожным при игре с ней через .NET, так как легко вызвать некоторые уродливые и трудно найти утечки памяти (подтвержденный мной плохим опытом) - если вы не распоряжаетесь своими объектами правильно, он оставляет процесс Excel.exe открытым,
- это намного медленнее, чем предыдущие методы,
- в основном, он почти не имеет дополнительной добавленной стоимости для одного из предыдущих методов (EPPlus или OleDB) и требует, чтобы Excel был установлен на клиентской машине, поэтому зачем его использовать?
Удачи, тогда.