Я предпочитаю использовать Microsoft OpenXML 2.0 SDK для такого рода функций.У него очень приятный интерфейс, и он не требует установки Office на компьютере, который читает файл XLSX, что хорошо.
Я пишу это со своего мобильного телефона, так что трудно представитьссылка, но поиск в Google легко найдет ее для вас.
Попробуйте.Я думаю, вам понравится.
РЕДАКТИРОВАТЬ
Если у вас есть для использования .NET 2.0, вы можете перейти на использование варианта JETOleDb
вместо.
Это означает, что вы сделаете что-то подобное для подключения:
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source='" + filename + "';" +
"Extended Properties=\"Excel 8.0;HDR=No;IMEX=1;\"";);
Затем вы можете запросить его, как в примере выше:
OleDbDataAdapter objAdapter = new OleDbDataAdapter("select * from [Sheet1$]", connection);
Попробуй!Просто отметьте, что у Jet
есть странная логика решения, является ли столбец числовым или нет.Подробности см. В следующих SO-вопросах: Проблема с использованием OleDbDataAdapter для извлечения данных из листа Excel