powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Считывание данных с excel в таблицу dbf
5 сообщений из 5, страница 1 из 1
Считывание данных с excel в таблицу dbf
    #37510019
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Помогите пожалуйста с решением следующей проблемы: есть таблица dbf (со столбцами):

id
name
name_1

Есть excel файл c пятой строки которого идет таблица т.е. c пятой строки в столбце первом - id, в столбце втором - name, в столбце третьем - name_1. Нужно по кнопке находящейся на форме открыть программно этот екселевский файл, и в таблицу в соотвествующие столбцы заливать данные. Конца списка как такового нет - т.е. видимо когда соответствующие элементы в столбце будут пустые - надо закрывать данный excel файл. Затем открывать следующий и тоже самое делать, т.к. не всегда данные приходящие будут только в одном файле экселевском , а они могут и быть тоже самое в другом из-за расположения мест которые отправляют такие файлы. Будьте добры подскажите пожалуйста решение на этот вопрос.
Спасибо большое заранее.
...
Рейтинг: 0 / 0
Считывание данных с excel в таблицу dbf
    #37511033
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima_18,

Подсказать - легко

1.В кнопку добавляем диалог открытия файла

при помощи команды GETFILE

2.Открываем файл

XLApp = GETOBJECT('', 'excel.application')
XLApp.WorkBooks.ADD(lcFile)
XLSheet= XLApp.ActiveSheet

3.Сканируем файл
WITH XLSheet

FOR lnPer = 5 TO .UsedRange.Rows.Count -1
4.Загоняем данные
INSERT INTO table1 (name, name_1) VALUES (.Range("A"+TRIM(STR(lnPer)))

ну и оборачиваем всякими исключениям на ошибки
...
Рейтинг: 0 / 0
Считывание данных с excel в таблицу dbf
    #37511606
Фотография Алексей (Витебск)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alextashk,

вот так можно попробовать
(где-то в интернете нашлось :) )

USE mytable SHARED

DIMENSION MyArray(RECCOUNT(),FCOUNT())
COPY TO ARRAY MyArray
STORE 'MyArray' TO mas
x=CREATEOBJECT("EXCEL.APPLICATION")
x.Workbooks.Add
x.Visible=.t.
X.Workbooks(1).ActiveSheet.range("A5:"+CHR( 64+FCOUNT())+ALLTRIM(STR(4+RECCOUNT()))) .value= ArrayPasser(MAS)
PROCEDURE ArrayPasser
PARAMETERS lcArrayName
RETURN @&lcArrayName


Ситуация, когда столбцов больше 26, не обработана
...
Рейтинг: 0 / 0
Считывание данных с excel в таблицу dbf
    #37511820
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей (Витебск),

это в обратную сторону.

PS. А разве нельзя с йокселем работать в формате "RxCy", тогда и проблема 26+ столбцов отпадёт сама собой?
...
Рейтинг: 0 / 0
Считывание данных с excel в таблицу dbf
    #37511938
Фотография Алексей (Витебск)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

точно, невнимательно посмотрел задачу :(, извините.

Я думаю, можно. Самому не приходилось использовать,
поэтому как есть представил.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Считывание данных с excel в таблицу dbf
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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