Как получить конкретную библиотеку объектов Excel без соответствующей установленной версии Office


Я разрабатываю приложение для автоматизации Excel, которое читает и записывает в электронную таблицу Excel. На моем компьютере установлен Office 2007. Поэтому я могу ссылаться на библиотеку объектов Excel 12.0 и библиотеку объектов Excel 5.0. Я не хочу использовать Excel 5.0, потому что он действительно довольно старый и плохо документированный. Поэтому я ссылаюсь на Excel 12.0.

Однако на целевой машине установлен Office 2003 и, следовательно, только Excel 11.0. Поэтому, когда я компилирую свою программу, она падает на целевая машина, так как ссылочная библиотека отличается.

Мне было интересно, есть ли способ получить Excel 11.0 без установки Office 03? Я попытался найти ответы из msdn и страницы поддержки microsoft, но ничего не смог найти? Это довольно странно, так как это может произойти и в будущем, когда разработчики будут иметь более новые версии Office, чем клиенты?

4 3

4 ответа:

Посмотрите на мой проект с открытым исходным кодом MS Office Wrapper для .NET . Экземпляр объекта приложения Office создается динамически с помощью метода CreateObject, а затем используется возможность поздней привязки, поэтому вам не нужна "строгая ссылка" на любую версию библиотек MS Office.

Вы можете использовать C#, VB.NET, J# и т. д...

Исходный код тоже доступен.

На самом деле вам не нужно сражаться так сильно. Просто включите в дистрибутив последнюю версию Office PIA (2007). Он обратно совместим с Office 2003.

Пожалуйста, прочитайте блог команды продуктов Excel и подробный ответ о совместимости здесь .

Мы включаем 2007 PIA в дистрибутив и не имеем никаких проблем с работой предыдущей (2003) версии Excel.

MS Office Wrapper для .NET упоминание здесь очень хорошая альтернатива.

Я очень доволен SpreadsheetGear . Этот компонент позволяет читать и записывать файлы excel. Я использую его для отчетов, клиентская машина имеет только Excel Viewer (который является бесплатным) для чтения файлов и их печати.

Я использую Excel Viewer 2003, потому что версия 2007 имеет ошибку печати (при печати это promt вы открываете диалоговое окно файла)

Вам потребуется загрузить и установить сборки взаимодействия Office для нужной вам версии Office.

Для Office 2003, скачать из здесь
Для Office 2007 загрузите файл здесь