Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Импорт из Excel   Найти похожие ветки 

 
Vyacheslav ©   (2005-02-21 10:30) [0]

Госпада подскажите как считать данные из Excel файла ???


 
Digitman ©   (2005-02-21 10:49) [1]

точно так же как и из любого другого файла
файл, который создал Excel, принципиально ничем не отличается от прочих файлов в системе

если же речь таки идет о документе в формате MS Excel (хранимом в некоем файле), то для программной работы с этим документом лучше всего использовать сам Excel (как олей- или сом-сервер

var
 excel: OleVariant;
 doc: OleVariant;
..
 excel := CreateOleObject("Excel.Application");
 doc := excel.Workbooks.Add("somefile.xls", ..);
 showmessage(doc.worksheets(0).cells(1,1).value);


 
DimonS ©   (2005-02-21 10:52) [2]

Можно еще сохранить ексель в формате базы данных *.dbf и работать с ним. Хотя это не всегда прокатывает. Если не пройдет, то так, как написал Digitman ©.


 
sniknik ©   (2005-02-21 11:15) [3]

> Можно еще сохранить ексель в формате базы данных *.dbf и работать с ним.
в подобной выгрузке мало смысла, т.к. точно также как к dbf можно подключится и к екселю (как к базе/таблице), и работать точно также как с dbf. но только с данными, ни формулы ни форматирование недоступны (для dbf аналогично).


 
Vyacheslav ©   (2005-02-21 11:28) [4]

Гм... вот что я написал !!!

excel: OleVariant;
doc: OleVariant;
begin
excel := CreateOleObject("Excel.Application");
doc := excel.Workbooks.Add("D:\convert2boss.atus.xls");
showmessage(doc.worksheets[0].cells(1,1).value);

все бы хорошо вот только в поселдней строке
exception EOleException with message "invalid index"

если изменить индекс  
showmessage(doc.worksheets[1].cells(1,1).value);
то
exception EOleSysError with message "Member not found"


 
Digitman ©   (2005-02-21 11:40) [5]


> Vyacheslav ©   (21.02.05 11:28) [4]


квадратные скобки нужны лишь при общении с Экселом как с СОМ-объектом .. Паскаль трактует и проверяет значение в этих скобках как индекс в некоем индексном методе, исходя из объявления метода в юните, описывающем соотв.интерфейс

в данном же примере ты общаешься к Экселу как к олей-объекту, поэтому параметры вызова любых методов следует заключать в полукруглые скобки .. Паскаль трактует значения в таких скобках просто как некие параметры неких методов, никак не проверяя ни кол-во параметров ни их тип


 
Vyacheslav ©   (2005-02-21 11:52) [6]

>Digitman ©   (21.02.05 11:40) [5]

))) мдя промашка )))) тока все равно одна фигня что круглые что квадратные

var
excel: OleVariant;
doc: OleVariant;
begin
excel := CreateOleObject("Excel.Application");
doc := excel.Workbooks.Add("D:\convert2boss.atus.xls");
showmessage(doc.worksheets(0).cells(1,1).value);
end;

exception EOleSysError with message "Member not found"

напишу код и проверь у себя если заработает то скинь )))) у меня не работает !!! выпадает на последней строке (showmessage....)


 
Vyacheslav ©   (2005-02-21 12:10) [7]

Хааа.. Вот как у мня получилось !!!

var
excel: OleVariant;
begin
excel := CreateOleObject("Excel.Application");
excel.Workbooks.OPen("D:\convert2boss.atus.xls");
showmessage(excel.WorkBooks[1].WorkSheets[1].Cells[1,3]);

Всем спасибо !!!


 
Vyacheslav ©   (2005-02-21 12:14) [8]

Кстати что бы убить процес excel.exe

excel.workBooks[1].close;
ну так вдруг кто то упустит из новичков вроде мня )))


 
КаПиБаРа ©   (2005-02-21 12:17) [9]

Vyacheslav ©   (21.02.05 12:14) [8]
это книжку закрывает, а не процесс убивает.


 
Vyacheslav ©   (2005-02-21 12:22) [10]

КаПиБаРа ©   (21.02.05 12:17) [9]

и процесс тоже грохает в диспечере задач !!! проверено !!!


 
Vyacheslav ©   (2005-02-21 12:33) [11]

Хе...если конечно открыта одна закладка)))


 
Sash ©   (2005-02-21 12:52) [12]

excel.quit;
excel:=unassigned;



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
3-1107865255
Ч_А_Й_Н_И_К
2005-02-08 15:20
2005.03.06
Пролучение как парамерта имя сервера


6-1103893289
mega
2004-12-24 16:01
2005.03.06
Отаправка файла в LAN


1-1109223246
vlgrig1961
2005-02-24 08:34
2005.03.06
Как добавить свою прогу в список ОТПРАВИТЬ...


11-1092678190
help
2004-08-16 21:43
2005.03.06
Трэй и иконка


3-1107788554
Qwatrfg
2005-02-07 18:02
2005.03.06
ADO изменить, добавить, удалить :)