Можно ли загрузить данные из файла .xls в Галактику?
Модераторы: m0p3e, edward_K, Модераторы
Можно ли загрузить данные из файла .xls в Галактику?
Можно ли загрузить данные из файла .xls в Галактику?
Еслив можно то как енто делается?
Еслив можно то как енто делается?
6.3.13. Функция DBFOpen (String, Integer) : LongInt
Назначение
Открыть или создать DBF файл.
Описание
function DBFOpen (Name : String, Mode : Integer) : LongInt;
Параметры
Name : String - имя DBF файла.
Mode : Integer - режим создания, открытия DBF файла:
- stCreate = $3C00;
- stOpenWrite = $3D01;
- stOpen = $3D02;
- stOpenRead = $3D20.
Возвращаемое значение
Функция возвращает дескриптор файла или 0 в случае ошибки.
6.3.7. Функция DBFGetFirst (LongInt) : Integer
6.3.8. Функция DBFGetLast (LongInt) : Integer
6.3.10. Функция DBFGetNext (LongInt) : Integer
6.3.11. Функция DBFGetPrev (LongInt) : Integer
6.3.6. Функция DBFGetFieldValue (LongInt, String) : String
Назначение
Получить значение поля для текущей записи.
Описание
function DBFGetFieldValue (Handle : LongInt; FName : String) : String;
Параметры
Handle : LongInt - результат, возвращаемый DBFOpenFile.
FName : String - имя поля (8 символов без пробелов).
Возвращаемое значение
Если произошла ошибка, то функция возвращает пустую строку.
6.3.2. Процедура DBFClose (LongInt)
Назначение
Закрыть DBF файл.
Описание
procedure DBFClose (Handle : LongInt);
Параметры
Handle : LongInt - результат, возвращаемый DBFOpenFile.
Назначение
Открыть или создать DBF файл.
Описание
function DBFOpen (Name : String, Mode : Integer) : LongInt;
Параметры
Name : String - имя DBF файла.
Mode : Integer - режим создания, открытия DBF файла:
- stCreate = $3C00;
- stOpenWrite = $3D01;
- stOpen = $3D02;
- stOpenRead = $3D20.
Возвращаемое значение
Функция возвращает дескриптор файла или 0 в случае ошибки.
6.3.7. Функция DBFGetFirst (LongInt) : Integer
6.3.8. Функция DBFGetLast (LongInt) : Integer
6.3.10. Функция DBFGetNext (LongInt) : Integer
6.3.11. Функция DBFGetPrev (LongInt) : Integer
6.3.6. Функция DBFGetFieldValue (LongInt, String) : String
Назначение
Получить значение поля для текущей записи.
Описание
function DBFGetFieldValue (Handle : LongInt; FName : String) : String;
Параметры
Handle : LongInt - результат, возвращаемый DBFOpenFile.
FName : String - имя поля (8 символов без пробелов).
Возвращаемое значение
Если произошла ошибка, то функция возвращает пустую строку.
6.3.2. Процедура DBFClose (LongInt)
Назначение
Закрыть DBF файл.
Описание
procedure DBFClose (Handle : LongInt);
Параметры
Handle : LongInt - результат, возвращаемый DBFOpenFile.
1.) посмотрите вот тут http://www.tyumbit.ru/gal_forum/viewtopic.php?t=2786
2.) поиск на форуме сделайте *xls*
2.) поиск на форуме сделайте *xls*
-
- Постоянный гость
- Сообщения: 60
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Казахстан, Экибастуз, АО "ЕЭК"
- Контактная информация:
Пример ввода из файла SIK.dbf
Table struct Staffper
( TABNMB : longint,
BDATE : date,
SIK : string[16],
FIO : string)
With Index (Z = TABNMB(Unique));
var Hkadr :longint;
var mode,countr,kz :integer;
var poz : byte;
var fi,t: string;
.................
HandleEvent
cmOk: {mode:=15648;
Hkadr:=DBFOpen('SIK.dbf',mode);
kz:=DBFGetFirst(Hkadr);
while kz=0 do
{ staffper.BDATE:=StrToDate(DBFGetFieldValue(Hkadr,'BDATE'),'YYYYMMDD');
staffper.TABNMB :=longint(DBFGetFieldValue(Hkadr,'TN'));
staffper.SIK :=DBFGetFieldValue(Hkadr,'SIK');
fi:=DBFGetFieldValue(Hkadr,'FAM');
t:=DBFGetFieldValue(Hkadr,'IM');
if t<>'' fi:=fi+' '+t;
t:=DBFGetFieldValue(Hkadr,'OT')
if t<>'' fi:=fi+' '+t;
staffper.FIO:=fi;
insert current staffper;
kz:=DBFGetNext(Hkadr);};
DBFClose(Hkadr);
Table struct Staffper
( TABNMB : longint,
BDATE : date,
SIK : string[16],
FIO : string)
With Index (Z = TABNMB(Unique));
var Hkadr :longint;
var mode,countr,kz :integer;
var poz : byte;
var fi,t: string;
.................
HandleEvent
cmOk: {mode:=15648;
Hkadr:=DBFOpen('SIK.dbf',mode);
kz:=DBFGetFirst(Hkadr);
while kz=0 do
{ staffper.BDATE:=StrToDate(DBFGetFieldValue(Hkadr,'BDATE'),'YYYYMMDD');
staffper.TABNMB :=longint(DBFGetFieldValue(Hkadr,'TN'));
staffper.SIK :=DBFGetFieldValue(Hkadr,'SIK');
fi:=DBFGetFieldValue(Hkadr,'FAM');
t:=DBFGetFieldValue(Hkadr,'IM');
if t<>'' fi:=fi+' '+t;
t:=DBFGetFieldValue(Hkadr,'OT')
if t<>'' fi:=fi+' '+t;
staffper.FIO:=fi;
insert current staffper;
kz:=DBFGetNext(Hkadr);};
DBFClose(Hkadr);
Лучше перебдеть, чем недобдеть!
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
лучше Visual Foxpo - это его прямая обязаность. Можно acces-ом, потом выгрузить в dbf. А в excel надо очень аккуратно делать, перед сохранением делать сначала xls, потом dbf, если меняете что посерьезней типа заголоки полей, то желательно с другим именем, иначе dbf не изменит структуру и так далее и так далее. comp надо делать строкой.