Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];
ВнизИмпорт из 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.034 c