Консультация № 63732
22.11.2006, 16:10
0.00 руб.
0 3 1
Здравствуйте! Подскажите, пожалуйста, как из Richedit вставить данные в ячейки Excel? Задача такая: данные(числа) выводятся в Richedit, а после мне нужно из компилятора открыть Excel, создать книгу и ввести в определенные ячейки данные. Как это сделать? Можно ли где раздобыть документацию по работе с Excel? Спасибо

Обсуждение

давно
Мастер-Эксперт
425
4118
22.11.2006, 17:03
общий
Начну с последнего. Статьями по работе с Excel в Delphi буквально забит весь интернет. Для поиска Вам следует воспользоваться Яндекс или Гугл. Вам нужно объяснить, как пользоваться поисковиком?Дело в том, что описывать работу из Delphi с Excel - занятие довольно нудное и долгое. Вдобавок, неизвестно в каком виде эти данные у Вас лежат в RichEdit.Наиболее оптимальный способ - это брать данные не из RichEdit, а из первоначального источника данных.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
22.11.2006, 17:28
общий
Абсолютно согласен с <b>sir henry</b>, да лучше данные брать сразу после их получения (до того как Вы их упекли в RichEdit, который к стати не совсем удачный компонет для вывода расчетных данных).А по поводу статей смотрите здесь: <a href=http://delphiworld.narod.ru/_tech_.html>http://delphiworld.narod.ru/_tech_.html</a>Ищите пункт: <b>OLE Automation MSOffice</b>
Неизвестный
22.11.2006, 17:50
общий
это ответ
Здравствуйте, Oricardo!
Пример в приложении. В ячейку А1 вставляется содержимое Edit1.
Из Richedit вставлять ИМХО извращение.

А вот хорошая книжка по работе с Word и Excel:
Василий Корняков. Программирование документов и приложений MS Office в Delphi
Достать ее можно здесь:
http://www.c-books.info/books/load.php?ty=delphi
А вот сайт ее автора, там же несколько статей из нее:
http://www.kornjakov.ru/stat.htm


Приложение:
procedure TForm1.Button4Click(Sender: TObject);var XLApp:Variant;begin try XLApp := CreateOleObject(‘Excel.Application‘);//создаем объект Excel и запускаем его except raise Exception.Create(‘Ошибка запуска Excel‘); end; XLApp.Visible:=true; //показываем его XLApp.Workbooks.Add(-4167); XLApp.Workbooks[1].WorkSheets[1].Name:=‘Отчёт‘; XLApp.Cells[1,1]:=‘Edit1.Text‘; //в ячейку А1 вставляем содержимое Edit1end;
Форма ответа