Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
7 / 7 / 2
Регистрация: 31.07.2015
Сообщений: 27
1

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

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

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Я пишу программу в которой время от времени происходит "общение" с файлами Excel. Соответственно для того что бы возможно было работать с файлами Excel нужно было добавлять ресурс Microsoft Excel Object Library. Интересует такой вопрос: будут ли работать все эти функции на компьютере, на котором нет офиса, или установлен офис более ранней версии?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2015, 16:44
Ответы с готовыми решениями:

Будет ли приложение работать с БД, если в системе не установлен Access
Будет ли работать приложение подключенное к базе данных access, если на компьютере не установлена...

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

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

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

8
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
03.09.2015, 21:10 2
С Excel не пробовал, но по опыту работы с Access могу сказать, что если вы работаете через ADO, то наличие офиса не обязательно. Если через Interop и у вас в коде есть Open, то думаю, что работать не будет. Тоже самое и в случае более ранней версии. Но, еще раз повторю - это чисто личное мнение.
0
7 / 7 / 2
Регистрация: 31.07.2015
Сообщений: 27
13.09.2015, 23:04  [ТС] 3
Проверил на другом пк, работа с аксес проходит нормально, а вот для создания, редактирования и сохранения доков ексель и ворд нужна установленная актуальная версия офиса
0
1713 / 1201 / 227
Регистрация: 23.12.2010
Сообщений: 1,530
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
Модератор
Эксперт .NET
4304 / 3379 / 506
Регистрация: 27.01.2014
Сообщений: 6,181
18.09.2015, 20:57 5
Юпатов Дмитрий, но студия дает аерсию библы минимум 12.0, что равняется MS OFFICE 2007... все что ниже - не найдет, а выше 12.0го офиса - рабоиает... поэтому с 2003 офисом только позднее связывание спасет и константы заранее подготовленеые для конкретных опепаций...
Вррде так. А вообще ведь можно файлы эксель грузить чепез провайдеров и нет необходимости иметь в системе само приложение ЕКСЕЛЬ... тут кстати кто-то уже писал по-моему какой провайдер. Единственное - для xls версия 4.0, для xlsx 12.0... в остальном работа как с базой данеых ADO.NET
0
1713 / 1201 / 227
Регистрация: 23.12.2010
Сообщений: 1,530
19.09.2015, 00:16 6
Странно, но у меня была ситуация, когда прога под эксель написана в упряжке с 2007 офисом, в итоге успешно стартовала и в 2003. Раннее связывание с библой 12 версии офиса, потом установка атрибута "копировать локально" в false, компиляция проекта, компиляция установщика (там еще куча шаблонов в комплекте, файл БД, картинки и прочая дребедень + записи в реестр для автостарта надстойки). Я тогда тоже не ожидал, однако ж заработало.
Цитата Сообщение от Yury Komar Посмотреть сообщение
поэтому с 2003 офисом только позднее связывание спасет и константы заранее подготовленеые для конкретных опепаций...
можно и так. При этом интересен вариант писать на раннем связывании, а финальный релиз перевести на позднее. Получим и наглядное написание (без необходимости лазить в vba за объектной моделью) и в итоге полную независимость от версий (лишь бы в более новых не почикали объекты и методы).
0
Модератор
Эксперт .NET
4304 / 3379 / 506
Регистрация: 27.01.2014
Сообщений: 6,181
19.09.2015, 01:57 7
Юпатов Дмитрий, да действительно интересно. Ну а на ранннм связывании хооошо писать, но после перевода на позднее, нужно не забыть про константы... многие пугаются ошибок, и не разобравшись толком бросают идею позднего связывания... хотя дело было всего лишь в не объявленных константах )
0
23 / 21 / 6
Регистрация: 16.09.2015
Сообщений: 44
19.09.2015, 11:29 8
Если есть возможность, то лучше переходите на сторонние библиотеки. Вот хорошая для .xls - NPOI
0
Модератор
Эксперт .NET
4304 / 3379 / 506
Регистрация: 27.01.2014
Сообщений: 6,181
19.09.2015, 14:10 9
lamorez, она не всегда будет удобна, так как в случае незаполненной ячейки, при прохождении через нее, библа выдаст исключение... хотя следующая за ней будет не пустая...
Для простых и не объемных файлов - COM соединение на мой взгляд - само то, так как большой количество функций экселя становится доступно. Но это ИМХО.

Добавлено через 2 минуты
Да и вес NPOI не маленький, плюс одним DLL файлом там все вопросы с Ексель не решишь...
0
19.09.2015, 14:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2015, 14:10
Помогаю со студенческими работами здесь

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

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

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

Без установленного MS Office моя приложуха, использующая Ole DB будет работать?
Мое приложение написано на C#. Оно работает (считывает и записывает) с xslx с помощью строк...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru