Главная страница
    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.034 c
8-1100782633
balcon
2004-11-18 15:57
2005.03.06
ширвание звука


1-1108652887
Георгий Бедный
2005-02-17 18:08
2005.03.06
Легенда о калькуляторе


3-1107787186
Anunimus
2005-02-07 17:39
2005.03.06
Interbase параметры по умолчанию


3-1107190444
albr
2005-01-31 19:54
2005.03.06
Кеширование изменений и ADO + MSSQL


14-1108369076
olookin
2005-02-14 11:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский