Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.058 c
3-1107700645
Ynishv
2005-02-06 17:37
2005.03.06
C. Set


1-1108820295
XfroSt
2005-02-19 16:38
2005.03.06
Передача данных между формами


4-1106306947
IronHawk
2005-01-21 14:29
2005.03.06
Приветствую! Всё о старом, TRANSPARENT формы, как?


1-1108473640
Dmitry_04
2005-02-15 16:20
2005.03.06
События на "Развернуть" и "свернуть в окно" форму


1-1108894737
XES
2005-02-20 13:18
2005.03.06
Не запускается





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский