Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пользовательский формат даты при импорте из Excel / 4 сообщений из 4, страница 1 из 1
26.02.2018, 17:55
    #39607428
pirogon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользовательский формат даты при импорте из Excel
День добрый.

Есть файл .xls первый столбец которого имеет пользовательский формат даты.
Никак не могу корректно импортировать данные.


IF !EMPTY(fileforimport)
IMPORT FROM (fileforimport) TYPE XL8 AS 1251
DO WHILE .NOT. EOF()
IF EOF()
EXIT
ENDIF
SCATTER NAME otmp
INSERT INTO DATA\TEMP\Tmp_tran.dbf (dt_op) VALUES (otmp.a)

вроде все просто, но в ступоре уже пару часов.
...
Рейтинг: 0 / 0
26.02.2018, 21:50
    #39607548
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользовательский формат даты при импорте из Excel
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
fileforimport=GETFILE("XLS")
*
oXLObj=CREATEOBJECT("Excel.Application")
oXLApp=oXLObj.APPLICATION
oWBook=oXLApp.WorkBooks.OPEN(fileforimport)
LastRow=oXLApp.ActiveSheet.UsedRange.SpecialCells(11).Row
laTable=oXLApp.ActiveSheet.Range("A1:A"+ALLTRIM(STR(LastRow))).Value
oXLApp.QUIT
RELEASE oXLObj, oXLApp, oWBook
*
CREATE CURSOR Tmp_tran1 (dt_op T)
INSERT INTO Tmp_tran1 FROM ARRAY laTable
GO TOP
BROWSE NOWAIT

CREATE CURSOR Tmp_tran2 (dt_op D)
INSERT INTO Tmp_tran2 FROM ARRAY laTable
GO TOP
BROWSE NOWAIT
...
Рейтинг: 0 / 0
28.02.2018, 19:15
    #39608703
pirogon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользовательский формат даты при импорте из Excel
Огромное Спасибо! Именно то, что было нужно!)
...
Рейтинг: 0 / 0
01.03.2018, 01:00
    #39608779
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пользовательский формат даты при импорте из Excel
Пожалуйста!

Ещё может пригодиться предварительное "переформатирование" элементов массива:
Код: sql
1.
2.
3.
FOR i=1 TO ALEN(laTable)
	laTable(i)=ICASE(VARTYPE(laTable(i))="N" AND laTable(i)=0,NULL,VARTYPE(laTable(i))="D" AND laTable(i)={},NULL,VARTYPE(laTable(i))="C",ALLTRIM(laTable(i)),laTable(i))
ENDFOR


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


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