Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Из Excel в VFP любое количество страниц...  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
В поиске видел все.. но нет примера как из XLS в VFP перегнать любое количество страниц..

Имена в разных файлах ...страниц разные..... количество страниц разное...
Одинаковая структура на кажой странице...

Нужно что-то типа: append from .... type xls ALL
Спасибо.
1 окт 07, 05:47    [4736099]     Ответить | Цитировать Сообщить модератору
 Re: Из Excel в VFP любое количество страниц...  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8873
Немного непонятно, что Вы подразумеваете под количеством страниц. Если это Sheets в Excel файле, то в FoxPro нельзя это сделать одной командой.

Я использую следующий алгоритм:

- открываю файл Excel как Com объект, методом перебора запоминаю все имена Sheets (Workbooks) в массив
- далее в цикле импортирую все эти Sheets в таблицу, используя ключевые слова ( XL8 [SHEET cSheetName]]]) комманды APPEND FROM

Надеюсь, что мое сообщение Вам поможет...

Сообщение было отредактировано: 1 окт 07, 09:26
1 окт 07, 09:26    [4736259]     Ответить | Цитировать Сообщить модератору
 Re: Из Excel в VFP любое количество страниц...  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
2:Sergey Ch
----------
oExcel = CREATEOBJECT('excel.application')
oExcel.Workbooks.Open(M.FILXLS)
for each o in oExcel.Sheets
o.select
M.LIST=o.name
if !empty(m.LIST)
DIMEN LIST(M.III)
LIST(M.III)=M.LIST
M.III=M.III+1
endif
next
oExcel.quit()
****
FOR M.III=1 TO ALEN(LIST)
SELECT DNSTMP
M_COM="APPEND FROM '"+M.FILXLS+"' TYPE XL8 SHEET "+ALLTRIM(LIST(M.III))+" AS 1251"
&M_COM
NEXT
-------
Первый лист грузит и пишет :
Ole..... A Share violation has occurred...
--------
Листы переименовывал... Есть идеи?
Спасибо.
1 окт 07, 10:35    [4736551]     Ответить | Цитировать Сообщить модератору
 Re: Из Excel в VFP любое количество страниц...  [new]
vkluch
Member

Откуда:
Сообщений: 60
CREATE CURSOR DNSTMP (nn N(10)) 
lcFile='C:\111.XLS'
oExcel = CREATEOBJECT('excel.application') 
oExcel.Workbooks.Open(lcFile) 
III=1
for each o in oExcel.Sheets 
o.select
M_LIST=o.name
if !empty(m_LIST)
DIMEN LISTT(III)
LISTT(III)=M_LIST
III=III+1
endif 
next
oExcel.quit()
INKEY(0.1)    &&   <------------------------------
****
FOR j=1 TO ALEN(LISTt)
SELECT DNSTMP
M_COM='APPEND FROM '+lcFile+' TYPE XL8 SHEET '+'"'+ALLTRIM(listt(j))+'" AS 1251'  && <-------
&M_COM
NEXT
1 окт 07, 11:26    [4736987]     Ответить | Цитировать Сообщить модератору
 Re: Из Excel в VFP любое количество страниц...  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8873
MaestroEv
-------
Первый лист грузит и пишет :
Ole..... A Share violation has occurred...
--------
Листы переименовывал... Есть идеи?
Спасибо.

Ответ дан выше, иногда паузу надо увеличить...
1 окт 07, 18:24    [4740312]     Ответить | Цитировать Сообщить модератору
 Re: Из Excel в VFP любое количество страниц...  [new]
MaestroEv
Member

Откуда: г.Благовещенск
Сообщений: 269
Спасибо.
3 окт 07, 04:53    [4747123]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить