![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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