![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| wotker |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: 1 Всего: 5 |
Здравствуйте. Не знаете ли готовых библиотек-оберток для работы с excel. работать с обычной библиотекой затруднительно, т.к. она достаточно громоздкая. Буду рад примерам кода работы с excel.
Собственно я хочу написать программу, которая 1) отображает таблицы также как в экселе, 2) позволяет редактировать определенные клетки с помощью ввода формул или значений и 3) скрывает формулы инициализаированных ячеек (ячейки, которым было присвоено значение до открытия документа). Благодарен буду и просто совету, т.к. программу нужно решить в конкретные сроки. Кстати какие премущества для работы с Excel дает .net 2.0 (классы там новые и т.д.)? Спасибо! --------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
С экселем работают через COM-враппер, так что всё зависит исключительно от версии экселя. Версия дотнет тут роли не играет.
-------------------- ![]() |
|||
|
||||
| wotker |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: 1 Всего: 5 |
Верно то что если я скопирую бублиотеку с excelem в папку с проектом, то этот проект запустится на др. компьютере?
основная проблема над которой я думаю - это скрытие формул отдельных ячеек. Я сначала думаю создать объект эеселевского приложения
в этом объекте уже становлены обработчики событий при нажатии на какую-то ячейку -> надо добавить новый который будет выполняться вконце и убирать всю "гадость" которую сделали предыдущие (т.е. будет обнулять строку формул). если ли др. предложения? . --------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Если версия не совпадает, то есть вероятность что часть функций работать не будут (где поменялся набор аргументов, имя и т.п.). В такой ситуации самый лучший выход - это вынести чисто экселевский функционал в отдельную библиотечку, и создать несколько версий этой библиотеки для разных версий Interop.Excel.dll, и таскать все версии с приложением. Тогда при старте приложения можно будет взять из реестра тек. установленную версию экселя и подгрузить библиотечку именно для этой версии (я так и делал в одном приложении, правда для Word - поддерживались все версии начиная с 2000). -------------------- ![]() |
|||
|
||||
| wotker |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: 1 Всего: 5 |
ммм... Не разу не работал с реестром - какой ключ надо посмотреть, каков его адресс? --------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
HKEY_CURRENT_USER\Software\Microsoft\Office внутри - разделы, смотрим на те которые содержат номер версии (11.0 - 2003й офис, и т.д.) -------------------- ![]() |
|||
|
||||
| wotker |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: 1 Всего: 5 |
ват сейчас продолжаю писать программу... возникла проблема.
вопервых расскажу как работает программа:
каждая страница книги загружается в отдельную TabPage Пользователь редактирует ячейки и после того как отредактировал, нажимает кнопку пересчета таблиц. Вопросы такие: могут ли быть связаны в экселе ячейки из разных страниц? какое свойство у ячейки отвечает за данные? я пробовал писать
и
после радактирования я вызывал метод Calculate() объекта Application - и ничего не получилась - все данные почему то остаются теми же. Кто что может предложить? --------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |