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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

lingreen
Новичок
Сообщения: 20
Зарегистрирован: 06 сен 2006, 08:06
Контактная информация:

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

Сообщение lingreen »

Можно ли загрузить данные из файла .xls в Галактику?
Еслив можно то как енто делается?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

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

Функции по работе с ДБФ файлами ищите на форуме.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

впринципе можно.
excel.doc

xlGetCellValue
Function xlGetCellValue(Raw, Col : longint ; var Value : variant) : boolean;
Взять значение заданной ячейки в переменную Value
Возвращает результат операции.
Raw, Col : longint
координаты ячейки
Value : variant
Значение ячейки
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

m0p3e
согласитесь, с ДБФ проще? :)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Алексей писал(а):m0p3e
согласитесь, с ДБФ проще? :)
не соглашусь :)
Файло надо открыть. Сохранить как дбф. И самое веселое - не факт что дбф прочитается :)
lingreen
Новичок
Сообщения: 20
Зарегистрирован: 06 сен 2006, 08:06
Контактная информация:

Сообщение lingreen »

а можно пошагово для особо одарённых?(я первый раз енто делаю)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

lingreen писал(а):а можно пошагово для особо одарённых?(я первый раз енто делаю)
Про dbf или xl* функции?
lingreen
Новичок
Сообщения: 20
Зарегистрирован: 06 сен 2006, 08:06
Контактная информация:

Сообщение lingreen »

про dbf еслив можно
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение 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.
lingreen
Новичок
Сообщения: 20
Зарегистрирован: 06 сен 2006, 08:06
Контактная информация:

Сообщение lingreen »

спсб
Последний раз редактировалось lingreen 27 сен 2006, 14:04, всего редактировалось 1 раз.
lingreen
Новичок
Сообщения: 20
Зарегистрирован: 06 сен 2006, 08:06
Контактная информация:

Сообщение lingreen »

а ещё про функции xl* можно?
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

Сообщение Vek »

1.) посмотрите вот тут http://www.tyumbit.ru/gal_forum/viewtopic.php?t=2786
2.) поиск на форуме сделайте *xls*
levtov
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Казахстан, Экибастуз, АО "ЕЭК"
Контактная информация:

Сообщение 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);
Лучше перебдеть, чем недобдеть!
empyros
Постоянный обитатель
Сообщения: 174
Зарегистрирован: 21 май 2009, 20:30
Откуда: Беларусь

Сообщение empyros »

Чем вручную можно DBF файл отредактировать, чтобы его Галактика прочитала? После Excel-я не читает :(
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

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