Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> написание экселевского приложения, желательно используя .net 2.0 
:(
    Опции темы
wotker
Дата 25.8.2006, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Здравствуйте. Не знаете ли готовых библиотек-оберток для работы с excel. работать с обычной библиотекой затруднительно, т.к. она достаточно громоздкая.  Буду рад примерам кода работы с excel. 
Собственно я хочу написать программу, которая 1) отображает таблицы также как в экселе, 2) позволяет редактировать определенные клетки с помощью ввода формул или значений и 3) скрывает формулы инициализаированных ячеек (ячейки, которым было присвоено значение до открытия документа).  Благодарен буду и просто совету, т.к. программу нужно решить в конкретные сроки. 
Кстати какие премущества для работы с Excel дает .net 2.0 (классы там новые и т.д.)?
Спасибо!
 
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 25.8.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



С экселем работают через COM-враппер, так что всё зависит исключительно от версии экселя. Версия дотнет тут роли не играет.


--------------------
user posted image
PM MAIL WWW   Вверх
wotker
Дата 25.8.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Верно то что если я скопирую бублиотеку с excelem в папку с проектом, то этот проект запустится на др. компьютере?

основная проблема над которой я думаю - это скрытие формул отдельных ячеек.

Я сначала думаю создать объект эеселевского приложения
Код

private Excel.Application excelApp = null;



в этом объекте уже становлены обработчики событий при нажатии на какую-то ячейку -> надо добавить новый который будет выполняться вконце и убирать всю "гадость" которую сделали предыдущие (т.е. будет обнулять строку формул). 

если ли др. предложения? 

.
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 25.8.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(wotker @  25.8.2006,  16:16 Найти цитируемый пост)
Верно то что если я скопирую бублиотеку с excelem в папку с проектом, то этот проект запустится на др. компьютере?

Если версия не совпадает, то есть вероятность что часть функций работать не будут (где поменялся набор аргументов, имя и т.п.). В такой ситуации самый лучший выход - это вынести чисто экселевский функционал в отдельную библиотечку, и создать несколько версий этой библиотеки для разных версий Interop.Excel.dll, и таскать все версии с приложением. Тогда при старте приложения можно будет взять из реестра тек. установленную версию экселя и подгрузить библиотечку именно для этой версии (я так и делал в одном приложении, правда для Word - поддерживались все версии начиная с 2000).


--------------------
user posted image
PM MAIL WWW   Вверх
wotker
Дата 25.8.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Цитата

при старте приложения можно будет взять из реестра тек. установленную версию экселя


ммм... Не разу не работал с реестром - какой ключ надо посмотреть, каков его адресс?
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 26.8.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(wotker @  25.8.2006,  20:04 Найти цитируемый пост)
ммм... Не разу не работал с реестром - какой ключ надо посмотреть, каков его адресс?

HKEY_CURRENT_USER\Software\Microsoft\Office

внутри - разделы, смотрим на те которые содержат номер версии (11.0 - 2003й офис, и т.д.)


--------------------
user posted image
PM MAIL WWW   Вверх
wotker
Дата 30.8.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



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

вопервых расскажу как работает программа:
    Загружется экслелевский файл в моей программе
    каждая страница книги загружается в отдельную TabPage
    Пользователь редактирует ячейки
    и после того как отредактировал, нажимает кнопку пересчета таблиц.

Вопросы такие: 

могут ли быть связаны в экселе  ячейки из разных страниц?
какое свойство у ячейки отвечает за данные? я пробовал писать
Код

((Range)curSheet.Cells[i+1, j]).Formula = obj;

и 
Код

 ((Range)curSheet.Cells[i + 1, j]).Value2 = obj;

после радактирования я вызывал метод Calculate() объекта Application - и ничего не получилась - все данные почему то остаются теми же.
Кто что может предложить?




--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.