|
|
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Помогите, пожалуйста, советом. Стояла задача: перекинуть данные с определенной выборкой из Fox'а в Excel. Программно. Перекинула. Теперь задача усложнилась: нужно, чтобы после корректировки пользователем этих данных в Excel'e, при желании пользователя эти изменения вносились в Fox-овскую таблицу (в исходник, то бишь...) Чего-то не знаю, с какой стороны и подступиться. Может, кто сталкивался... Поделитесь, пожалуйста, идеями... Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 13:39 |
|
||
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Ну так открой этот екселовский документ и запомни его как DBF. После чего делай с дбфкой что пожелаешь. Или аналогично как заполнял так и читай значения ячеек и запихивай их одратно в таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 13:54 |
|
||
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Если ты разобралась, как программно заносить в Excel из Foxa, то и обратно - не составит большого труда. Т.е., теперь Fox будет выступать в роли сервера, а Excel в роли клиента. Конкретный код можешь найти на - http://forum.foxclub.ru если там воспользуешься поиском по слову - “Excel”. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 14:23 |
|
||
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за отзывы. Правда: 1)DBF-кой сохранить не удастся, т.к. у таблицы в Excel'е еще есть шапка и что-то типа "итого", которые мешают нормальному сохранению книги в виде *.dbf. 2) конкретный код на http://forum.foxclub.ru не нашла, хотя соглашусь, что, возможно, плохо искала (поиск там уж как-то сильно нерационально организован) Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 23:05 |
|
||
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Один из вариантов решения переноса данных из Excel в таблицу VFP. Для этого необходимо создать com-сервер в среде VFP, а поэтому проделать следующее: 1. Создать новый проект VFP (допустим его имя будет - expexc.pjx) 2. В этом проекте создать класс, на основании которого будет построен COM-сервер. 3. В данный класс добавить свойства через которые данные из Excel будут заносится в таблицу VFP. 4. В этом классе должен быть метод, который выполняет добавление строки в таблицу VFP. К примеру, если нужно перенести данные из 3-х ячеек Excel (A1, B1, C1), то в классе (назовем его - clCarrying) должно быть определено 3 свойства: sv_a, sv_b, sv_c. И так же в классе создаем метод (назовем его danizexc) В этом методе как раз и находится код, который вносит данные в таблицу - VFP Код: plaintext 1. 2. Для этого выбираем пункты меню Class-> Class Info и в диалоговом окне Class Info устанавливаем флажок OLE Public (это означает, что данный класс будет предоставлять свои свойства и методы как объект OLE) 6. Сохраняем класс. 7. На основании данного проекта, строим com-сервер нажав на кнопку Build в Project Manager. Он может быть следующих типов - COM server (exe), Single-threaded COM server (dll), Multi-threaded COM server (dll). Если выбран тип - COM server (exe), то он будет выполняться в своем адресном пространстве памяти. Если выбран тип - COM server (dll), то он будет использовать то же адресное пространство, что и вызывающее его приложение. 8. После построения, com-сервер (его имя будет expexc.exe или expexc.dll) нужно зарегистрировать: Так, если - exe: expexc.exe /regserver или так, если - dll: regsvr32 expexc.dll Все, тепер можно использовать функционал данного com-сервера другими приложениями. Переходим к Excel. На рабочем листе располагаем кнопку, по нажатию на которую, данные из ячеек A1, B1, C1 будут попадать в таблицу – VFP. В обработчике события - CommandButton1_Click() вызываем процедуру (допустим ее имя - PerenosInFox), которая как раз и будет использовать созданный в среде VFP COM-сервер. Ее код такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2006, 03:17 |
|
||
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за столь подробное объяснение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 06:18 |
|
||
|
Excel и VFP: обмен данными. Помогите новичку.
|
|||
|---|---|---|---|
|
#18+
Спасибо тем, кто помог мне в прошлый раз. Может, кто и сейчас подскажет... Задача усложнилась. Данные в Fox нужно переносить из большого количества однотипных excel-файлов. Что-то как-то совсем не хочется в каждом из них макрос прописывать. Как быть? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2006, 21:25 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=245&tid=1591187]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 310ms |

| 0 / 0 |
