Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
termos38
7 / 7 / 2
Регистрация: 31.07.2015
Сообщений: 27
#1

Будет ли программа работать с Excel в системе, где не установлен MS Office - Visual Basic .NET

03.09.2015, 16:44. Просмотров 649. Ответов 8
Метки нет (Все метки)

Доброго времени суток!
Я пишу программу в которой время от времени происходит "общение" с файлами Excel. Соответственно для того что бы возможно было работать с файлами Excel нужно было добавлять ресурс Microsoft Excel Object Library. Интересует такой вопрос: будут ли работать все эти функции на компьютере, на котором нет офиса, или установлен офис более ранней версии?
http://www.cyberforum.ru/vb-net/thread1604058.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2015, 16:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Будет ли программа работать с Excel в системе, где не установлен MS Office (Visual Basic .NET):

Как можно работать с книгой Excel, если не установлен MS Office?
Как реализовать работу с книгой Excel на компе где нет екселя? Есть программа...

Определить, установлен ли Excel в системе
Доброго дня! Подскажите, пожалуйста, возможно ли средствами Visual Basic...

Будут ли работать приложения с функциями framework 4 на системах, где он не установлен?
Например если написать простой калькулятор, но на новом VS, то на других...

Экспорт данных в Excel при условии, что на стороне клиента не установлен MS Office
Всем привет! Поевился такой вопрос, кто знает подскажите, пожалуйсто! Хочу...

не выгружает в excel где не установлен delphi
У меня программа выгружает данные из Delphi в Excel. На моем компе, где стоит...

8
chumich
1480 / 842 / 280
Регистрация: 20.12.2014
Сообщений: 2,162
03.09.2015, 21:10 #2
С Excel не пробовал, но по опыту работы с Access могу сказать, что если вы работаете через ADO, то наличие офиса не обязательно. Если через Interop и у вас в коде есть Open, то думаю, что работать не будет. Тоже самое и в случае более ранней версии. Но, еще раз повторю - это чисто личное мнение.
0
termos38
7 / 7 / 2
Регистрация: 31.07.2015
Сообщений: 27
13.09.2015, 23:04  [ТС] #3
Проверил на другом пк, работа с аксес проходит нормально, а вот для создания, редактирования и сохранения доков ексель и ворд нужна установленная актуальная версия офиса
0
Юпатов Дмитрий
1612 / 1124 / 224
Регистрация: 23.12.2010
Сообщений: 1,495
14.09.2015, 11:37 #4
Лучший ответ Сообщение было отмечено termos38 как решение

Решение

Цитата Сообщение от chumich Посмотреть сообщение
по опыту работы с Access могу сказать, что если вы работаете через ADO, то наличие офиса не обязательно
потому что сам по себе Access тоже можно представить как отдельно взятую клиентскую прогу для работы с БД. Т.е она работает с БД через тех же провайдеров данных, что и ваша прога. Провайдеры данных поставляются обычно с самой ОС, если это не что-то специфическое, конечно
Цитата Сообщение от chumich Посмотреть сообщение
Если через Interop и у вас в коде есть Open, то думаю, что работать не будет
Не обязательно использовать раннее связывание. Все равно не заработает. Установленный Word или Excel - обязательны, если мы пользуемся их библиотеками (и не важно, как мы связываем библы со своей программой).
Цитата Сообщение от chumich Посмотреть сообщение
Тоже самое и в случае более ранней версии
Нет, реальна ситуация, когда прога писалась в упряжке с 2003 excel, а у юзера заработает и под 2007. Проверено. В обратном направлении, кстати, тоже. Поэтому приходилось в своих работах, например, закладывать создание панели инструментов как в виде ленты (для 2007 и новее), так и в виде обычной панельки (2003 и древнее). Просто на старте - проверка версии установленного компонента Office.
А еще неплохо при раннем связывании в списке ссылок проекта указывать False вместо Trгу (по умолчанию) для ссылок на такие библы. Т.е. рабочая версия проги не станет искать библиотеку возле себя, а воспользуется той, что зарегистрирована в системе. Т.е. на конечной машине в работу пойдет родная библа офиса, который установлен.
3
Yury Komar
Модератор
Эксперт .NET
2364 / 2169 / 346
Регистрация: 27.01.2014
Сообщений: 3,898
Завершенные тесты: 1
18.09.2015, 20:57 #5
Юпатов Дмитрий, но студия дает аерсию библы минимум 12.0, что равняется MS OFFICE 2007... все что ниже - не найдет, а выше 12.0го офиса - рабоиает... поэтому с 2003 офисом только позднее связывание спасет и константы заранее подготовленеые для конкретных опепаций...
Вррде так. А вообще ведь можно файлы эксель грузить чепез провайдеров и нет необходимости иметь в системе само приложение ЕКСЕЛЬ... тут кстати кто-то уже писал по-моему какой провайдер. Единственное - для xls версия 4.0, для xlsx 12.0... в остальном работа как с базой данеых ADO.NET
0
Юпатов Дмитрий
1612 / 1124 / 224
Регистрация: 23.12.2010
Сообщений: 1,495
19.09.2015, 00:16 #6
Странно, но у меня была ситуация, когда прога под эксель написана в упряжке с 2007 офисом, в итоге успешно стартовала и в 2003. Раннее связывание с библой 12 версии офиса, потом установка атрибута "копировать локально" в false, компиляция проекта, компиляция установщика (там еще куча шаблонов в комплекте, файл БД, картинки и прочая дребедень + записи в реестр для автостарта надстойки). Я тогда тоже не ожидал, однако ж заработало.
Цитата Сообщение от Yury Komar Посмотреть сообщение
поэтому с 2003 офисом только позднее связывание спасет и константы заранее подготовленеые для конкретных опепаций...
можно и так. При этом интересен вариант писать на раннем связывании, а финальный релиз перевести на позднее. Получим и наглядное написание (без необходимости лазить в vba за объектной моделью) и в итоге полную независимость от версий (лишь бы в более новых не почикали объекты и методы).
0
Yury Komar
Модератор
Эксперт .NET
2364 / 2169 / 346
Регистрация: 27.01.2014
Сообщений: 3,898
Завершенные тесты: 1
19.09.2015, 01:57 #7
Юпатов Дмитрий, да действительно интересно. Ну а на ранннм связывании хооошо писать, но после перевода на позднее, нужно не забыть про константы... многие пугаются ошибок, и не разобравшись толком бросают идею позднего связывания... хотя дело было всего лишь в не объявленных константах )
0
lamorez
23 / 21 / 6
Регистрация: 16.09.2015
Сообщений: 44
19.09.2015, 11:29 #8
Если есть возможность, то лучше переходите на сторонние библиотеки. Вот хорошая для .xls - NPOI
0
Yury Komar
Модератор
Эксперт .NET
2364 / 2169 / 346
Регистрация: 27.01.2014
Сообщений: 3,898
Завершенные тесты: 1
19.09.2015, 14:10 #9
lamorez, она не всегда будет удобна, так как в случае незаполненной ячейки, при прохождении через нее, библа выдаст исключение... хотя следующая за ней будет не пустая...
Для простых и не объемных файлов - COM соединение на мой взгляд - само то, так как большой количество функций экселя становится доступно. Но это ИМХО.

Добавлено через 2 минуты
Да и вес NPOI не маленький, плюс одним DLL файлом там все вопросы с Ексель не решишь...
0
19.09.2015, 14:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2015, 14:10
Привет! Вот еще темы с решениями:

Программа не работает на компьютере, где не установлен Builder
Вот у меня есть програма написана на Borland C++ Builder. Я ее компилирую и все...

Как работать с файлом Excel без установленного MS Office
Нужно работать с файлом екселя без установленного офиса. Использую Microsoft...

Delphi 7 и RAD studio 2010 на одной системе, будет работать?
Или возможна только одна.

Будет ли работать на моей системе Видеокарта PCI-E 2.1 POWERCOLOR Radeon HD 6770?
Пойдет ли и будет нормально работать Видеокарта PCI-E 2.1 POWERCOLOR Radeon HD...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru