Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Excel + Delphi [D7, XP]


sh1k4r1 ©   (2009-01-05 19:02:00) 

Возник вопрос - как бы так извернуться и вставить в форму экселевский  лист (т.е. таблицу) с возможностью сохранения в *.xls и быстрого редактирования ячеек: клик на ячейку -> клик на кнопку -> к числовому значению в ячейке прибаляется n; на другую кнопку -> отнимается m


KilkennyCat   (2009-01-06 09:30:00) [1]

Можно вообще без Делфи, и даже довольно просто.
Всего несколько строк кода.

Смотреть где-нить там:
Программирование на VBA в Excel


Нат   (2009-01-06 03:43:00) [2]

Можно вообще без Екселя, и даже довольно просто.
Всего несколько строк кода.
Подключаемся, читаем, пишем.
НО!
Есть существенные ограничения.
При подключении автоматом задается тип столбца.
Не всегда верно.
Если записи не уникальны - с изменением и обновлением будут сложности.

Смотреть здесь
Как подключить книгу Excel как базу данных, используя поставщика данных Jet OLE DB Provider?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1277


sh1k4r1   (2009-01-05 20:06:00) [3]

окей, спасибо большое за ответ


Сергей М.   (2009-01-05 20:01:00) [4]


> а сохранение, открытие?


см. [10]


Сергей М.   (2009-01-05 19:56:00) [5]


> sh1k4r1


Открываешь стандартную справку к ExcelVBA, внимательно изучаешь там методы/свойства интересующих тебя Excel-объектов, программное обращение к которым реализует поставленную тобой задачу, пишешь соотв.макрос прямо в Excel, отлаживаешь его.
Перенос результирующего VBA-кода в Delphi-код не вызывает никаких сложностей - языки оченьпохожи


sh1k4r1   (2009-01-05 19:56:00) [6]

о, большое спасибо.
а сохранение, открытие?


Сергей М.   (2009-01-05 19:49:00) [7]

MyOleContainer.OleObject.Range.Cells['C3'].Value := '"6"';


sh1k4r1   (2009-01-05 19:44:00) [8]

ну вот я загрузил в оле контейнер таблицу. я вот хочу допустим в ячейку c3 написать "6". для этого мне приходится лезть в эксель и ручками там набивать "6". а мне бы хотелось нажать кнопку на форме, и - вуаля - в ячейке появилось "6". а то висит себе контейнер и висит


sh1k4r1   (2009-01-05 19:44:00) [9]

и ничего с ним не сделать


YurikGL   (2009-01-05 19:40:00) [10]


> как это все редактировать вне экселя, в моей оболочке?

Что бы редактировать xls вне Excel-я нужно свой Ексель писать. Или использовать Open Office или что нибудь аналогичное.


Сергей М.   (2009-01-05 19:38:00) [11]


> как это все редактировать вне экселя


Что значит "вне" ?
Если Excel инсталлирован в целевой системе, то см. [1]
Если нет, то векторов будет целый лес.


> довольно статичный


Это тоже самое что и "в целом и общем беременна, но местами и не очень".


sh1k4r1   (2009-01-05 19:32:00) [12]

ладно, ладно, спасибо за вектор. есть только последний вопрос. как это все редактировать вне экселя, в моей оболочке? там же получается довольно статичный объект


Сергей М.   (2009-01-05 19:19:00) [13]


> а то времени разбираться нету


Это уже твоя личная драма.
Вектор тебе дан.


sh1k4r1   (2009-01-05 19:08:00) [14]

если тебя не затруднит, можешь поподробней, а то времени разбираться нету)


Сергей М.   (2009-01-05 19:07:00) [15]

TOleContainer


Наверх

Титульная страница Поиск, карта сайта Написать письмо