Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 342

/ вопрос открыт /

Дорогі експерти допоможіть будьласка, підскажіть як можна зчитати дані з файла Excel,з розширеням *.xls в Delphi. Дуже потрібно!!!!!!!!!

Шарайчук Сергей Олександрович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Шарайчук Сергей Олександрович (статус: 2-ой класс)
Вопрос отправлен: 23 февраля 2007, 18:49
Состояние вопроса: открыт, ответов: 3.

Ответ #1. Отвечает эксперт: Aymenel

var
Excel: variant;
i, j: word;
S: string;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open(FileName);
Excel.Visible:=True;
for i := 1 to 5 do
for j := 1 to 5 do
begin
S := Excel.Sheets[1].Cells[i,j].Text;
//Sheets[I] - номер таблицы в файле
ShowMessage(S);
end;
end;

Ответ отправил: Aymenel (статус: 2-ой класс)
Время отправки: 23 февраля 2007, 19:06
Оценка за ответ: 3

Комментарий к оценке: Excel := CreateOleObject('Excel.Application');Что ето такое'Excel.Application', делфи дайот ошибку???

Ответ #2. Отвечает эксперт: Вадим К

Дополню к предыдущему эксперту.
Ошибка идёт не на 'Excel.Application'
Делфи и знать это не надо - так как это строка, котороую она передаёт в функцию, а на CreateOleObject() - так как она не знает, где искать эту функцию.
Просто добавте в список uses (тот что в вверу, в третей-четвёртой строке) ещё один модуль ComObj. Также не забудьте в качестве FileName написать реальное имя файла (в одинарных кавычках!) или обявить такую переменную и присвоить ей соответстующее значение

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 23 февраля 2007, 19:43
Оценка за ответ: 1

Ответ #3. Отвечает эксперт: ANBsoft

Корректнее нужно формулировать вопрос.
Что вы хотите:
1)открыть XLS файл при помощи Excel - Вам привели примеры;
2)Вас не устраивает Excel - можно использовать бесплатный OpenOffice Calc - открыть будет не многим сложнее;
3)Вам необходимо работать с XLS файлами из своей программы даже если в системе не установлет Excel, Calc и им подобные - нужно использовать готовые компоненты для этого, советую поискать на www.torry.ru или www.delphikingdom.com
4)еще какие-то заморочки - формулируйте чего хотите.
Успехов.

Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 24 февраля 2007, 00:14


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 23 февраля 2007, 23:49; участников в обсуждении: 2.
Aymenel

Aymenel (статус: 2-ой класс), 23 февраля 2007, 19:42 [#1]:

Delphi ругается не на 'Excel.Application', а на функцию CreateOleObject. Для ее работы подключите модуль ComObj. И внимательно читате сообщения об ошибках.
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 23 февраля 2007, 19:52 [#2]:

Method 'Cels' not supporder by automation object, ето вопервих, а во вторых мне нужно не запускать ексель просто считать ифу, например чтобы перенести её в обект Stringgrid!!!!!
Я бы изменил мир, но Бог не дает исходники!
Aymenel

Aymenel (статус: 2-ой класс), 23 февраля 2007, 20:01 [#3]:

Во первых, копировать надо внимательнее (не Cels, а Cells).
Во вторых, чтобы не показывался Excel замените строку (Excel.Visible:=True;) на (Excel.Visible:=False;).
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 23 февраля 2007, 20:07 [#4]:

Розобралса огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Я бы изменил мир, но Бог не дает исходники!
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 23 февраля 2007, 22:23 [#5]:

Ищо вопрос как потом вырубить ексель из процесов?????
Я бы изменил мир, но Бог не дает исходники!
Aymenel

Aymenel (статус: 2-ой класс), 23 февраля 2007, 23:43 [#6]:

Извини забыл добавить (Excel.Quit;).
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 23 февраля 2007, 23:49 [#7]:

Спасибо я уже сам нашол!!! Ищо раз спасибо!!!
Я бы изменил мир, но Бог не дает исходники!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:59
Выполнено за 0.02 сек.