Главная страница
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.043 c
6-1104081220
Delta
2004-12-26 20:13
2005.03.06
запуск ехе на чужом компе


3-1107420777
denis24
2005-02-03 11:52
2005.03.06
обьединение полей


1-1109165616
sysldr
2005-02-23 16:33
2005.03.06
Modem


3-1107845359
dreamse
2005-02-08 09:49
2005.03.06
Не пойму как возвратить результат запроса


14-1108621820
stud
2005-02-17 09:30
2005.03.06
книги в формате pdf