Страница 1 из 2

Можно ли загрузить данные из файла .xls в Галактику?

Добавлено: 26 сен 2006, 10:39
lingreen
Можно ли загрузить данные из файла .xls в Галактику?
Еслив можно то как енто делается?

Добавлено: 26 сен 2006, 11:40
Алексей
Я обычно из Экселя создаю ДБФ (там можно в 4 вид ДБФа сохранить) и уже из ДБФ загружаю в Галактику.

Функции по работе с ДБФ файлами ищите на форуме.

Добавлено: 26 сен 2006, 11:54
m0p3e
впринципе можно.
excel.doc

xlGetCellValue
Function xlGetCellValue(Raw, Col : longint ; var Value : variant) : boolean;
Взять значение заданной ячейки в переменную Value
Возвращает результат операции.
Raw, Col : longint
координаты ячейки
Value : variant
Значение ячейки

Добавлено: 26 сен 2006, 12:17
Алексей
m0p3e
согласитесь, с ДБФ проще? :)

Добавлено: 26 сен 2006, 12:59
m0p3e
Алексей писал(а):m0p3e
согласитесь, с ДБФ проще? :)
не соглашусь :)
Файло надо открыть. Сохранить как дбф. И самое веселое - не факт что дбф прочитается :)

Добавлено: 26 сен 2006, 13:50
lingreen
а можно пошагово для особо одарённых?(я первый раз енто делаю)

Добавлено: 26 сен 2006, 15:47
m0p3e
lingreen писал(а):а можно пошагово для особо одарённых?(я первый раз енто делаю)
Про dbf или xl* функции?

Добавлено: 27 сен 2006, 06:27
lingreen
про dbf еслив можно

Добавлено: 27 сен 2006, 11:57
m0p3e
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.

Добавлено: 27 сен 2006, 13:37
lingreen
спсб

Добавлено: 27 сен 2006, 13:37
lingreen
а ещё про функции xl* можно?

Добавлено: 27 сен 2006, 13:50
Vek
1.) посмотрите вот тут http://www.tyumbit.ru/gal_forum/viewtopic.php?t=2786
2.) поиск на форуме сделайте *xls*

Добавлено: 24 окт 2006, 10:23
levtov
Пример ввода из файла 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);

Добавлено: 07 дек 2009, 16:14
empyros
Чем вручную можно DBF файл отредактировать, чтобы его Галактика прочитала? После Excel-я не читает :(

Добавлено: 07 дек 2009, 16:27
edward_K
лучше Visual Foxpo - это его прямая обязаность. Можно acces-ом, потом выгрузить в dbf. А в excel надо очень аккуратно делать, перед сохранением делать сначала xls, потом dbf, если меняете что посерьезней типа заголоки полей, то желательно с другим именем, иначе dbf не изменит структуру и так далее и так далее. comp надо делать строкой.