powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Импортирую из Excel
3 сообщений из 3, страница 1 из 1
Импортирую из Excel
    #36667024
ping_09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю импорт данные из таблицы .xls в таблицу .dbf
Но что-то ничего не импортируется.Что я упустил?
Local dirplan &&имя каталога с запросами
Local lstcount &&список файлов
Public appexcel, oworkbook As Object &&для работы с экселем

* Выберем каталог с файлами план-заданий в формате .xls
dirplan=Getdir('','Укажите каталог:','Выбор каталога')

* Переменная для хранения списка файлов .xls выбранной папки
lstcount=Adir(lstplan,dirplan+'*.xls')

* Создадим объект Excel
appexcel=Createobject('Excel.Application')

* Не будем показывать обрабатываемые файлы на экране
appexcel.displayalerts=.F. && отключаем служебные сообщения Excel
appexcel.Visible=.F. && а это чтобы вообще не показывать, что Excel запускается

Use shabltable In 0 Alias shabltable && откроем таблицу-шаблон
Select shabltable

For nfilecount = 1 To lstcount && перебираем все документы .xls

oworkbook = appexcel.workbooks.Open(dirplan+lstplan(nfilecount,1))
oworkbook.sheets(1).Select && переходим на нужный лист
m.lnrowcount=oworkbook.sheets(1).usedrange.Rows.Count && запоминаем адрес последней,заполненной строки

For i=2 To m.lnrowcount && сканируем лист .xls со второй строки
Replace shabltable.pole1 With Alltrim(oworkbook.sheets(1).cells(i,1).Text) && заменяем поле таблицы данными из excel
Endfor
Endfor

appexcel.Quit
Release oworkbook
Release appexcel
Release lstplan
...
Рейтинг: 0 / 0
Импортирую из Excel
    #36667104
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ping_09
> Но что-то ничего не импортируется.Что я упустил?

Ну совсем ничего наверное нет, в какую-то одну строку все должно последовательно перезаписыватся. У тебя в цикле пробега
по ячейкам листа екчселя нет перехода на другую запить в таблицу куда пишешь.

И ещё зачем циклы?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
* Определяем используемый диапазон в книге

#Define xlCellTypeLastCell  11 

r = XLSheet.cells.SpecialCells(xlCellTypeLastCell)

* Получаем нужный диапазон в массив

v = XLSheet.Range("A2:U" + Transform(r.Row)).Value

* Создаем курсор в который переносим данные из массива

dbf_file_name1 = Sys( 2015 )

Create Cursor (dbf_file_name1)(A v( 250 ), B v( 250 ), C v( 250 ), D v( 250 ), E v( 250 ), F v( 250 ), G v( 250 ), H v( 250 ), I v( 14 ), 
;

J D, K v( 250 ), L v( 250 ), M v( 250 ), N v( 250 ), O B( 3 ), P v( 250 ), Q v( 250 ), r v( 250 ), S v( 250 ), T v( 250 ), U v( 250 ))

Append From Array v

Release v
все

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Импортирую из Excel
    #36667213
ping_09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,
Спасибо.
Дополнил

For i=2 To m.lnrowcount && сканируем лист .xls со второй строки
Append Blank
Replace shabltable.pole1 With Chrtran(oworkbook.sheets(1).cells(i,1).Text,' ','')
Endfor
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Импортирую из Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]