Офис-независимый способ доступа к данным в файле .xls? - PullRequest
3 голосов
/ 30 сентября 2010

Я работаю над программой VS 2008 C #, которая должна извлекать данные из электронной таблицы Excel.Проблема заключается в том, что пользователи используют сочетание Office 2007 и Office 2010. Поэтому я пытаюсь найти несколько указателей в правильном направлении, чтобы программным способом получать данные из xls, не заботясь о том, какую версию Office пользователь использует.установил.

Бонусные баллы, если он будет компилироваться в обеих средах (VS2008 / Office2007 и VS2008 / Office2010)

Ответы [ 6 ]

6 голосов
/ 30 сентября 2010

Вы можете использовать OleDB .

Обратите внимание, что их пример неверен и должен использовать OleDbConnectionStringBuilder, например:

OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();

if (isOpenXML)
    builder.Provider = "Microsoft.ACE.OLEDB.12.0";
else
    builder.Provider = "Microsoft.Jet.OLEDB.4.0";

builder.DataSource = fileName;
builder["Extended Properties"] = "Extended Properties=\"Excel 8.0;HDR=YES;\""

con = new OleDbConnection(builder.ToString());  
1 голос
/ 30 сентября 2010

Не уверен, что это проект, в котором у вас есть бюджет для работы ....

В нашей компании мы использовали SpreadsheetGear , и работать было здоровос.Если у вас есть для этого средства, это отличный инструмент для работы с файлами Excel.SpreadsheetGear может помочь с любым видом файла Excel, и для этого не требуется, чтобы пользователь установил Excel.

0 голосов
/ 14 октября 2010

Этот бесплатный и простой в использовании.

http://npoi.codeplex.com/

0 голосов
/ 30 сентября 2010

Просто экспортируйте данные в CSV или TXT-файл, и это будет зависеть от версии.

0 голосов
/ 30 сентября 2010

Если вы действительно хотите использовать Excel для чтения данных, вам следует обратиться к самой низкой версии Excel, которую вы ожидали от своих пользователей. Excel 2010 обратно совместим с Excel 2007 и должен поддерживать приложения, написанные для библиотеки 2007.

0 голосов
/ 30 сентября 2010

Вам совсем не нужно использовать офисную автоматизацию.Существует множество пакетов для чтения файлов Excel из .Net.Некоторые из них являются коммерческими, а некоторые с открытым исходным кодом.

Случайный поиск на codeplex.com вернул этот пример, например: Excel Data Reader

...