Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Hello, World!
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  01:05[Войти] | [Зарегистрироваться]

Обсуждение материала
По волнам интеграции…
Полный текст материала


Цитата или краткий комментарий:

«... Delphi & Excel ... Итак, зачем нам, лучшим в мире программистам, нужен Excel, порождение 'злого' гения Microsoft? Конечно, часто это лишнее - «юзать» Excel для отчетов. Напечатать «платежку» можно и в QReport-е. Но… ...»


Важно:
  • Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
  • Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
  • При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
  • Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.



Добавить свое мнение.

Результаты голосования
Оценка содержания

  Содержит полезные и(или) интересные сведения
[1]39100%
 
  Ничего особенно нового и интересного
[2]00%
 
  Написано неверно (обязательно укажите почему)
[3]00%
 
Всего проголосовали: 39

Оценка стиля изложения

  Все понятно, материал читается легко
[1]2374.2%
 
  Есть неясности в изложении
[2]825.8%
 
  Непонятно написано, трудно читается
[3]00%
 
Всего проголосовали: 31




Смотрите также материалы по темам:
[TObject] [TDataSet] [TForm] [TOleServer] [TExcelApplication] [Работа с Excel]

Комментарии жителей
Отслеживать это обсуждение

Всего сообщений: 37

13-01-2012 07:48
Спасибо большое за статьи уже двенадцать лет а все еще актуально. На Delphi 7 во всех трех примерах(первый который для Delphi5) в подключении библиотек (там где uses) не хватает Variants. И в первом примере при объявлении переменной интерфейса вместо IRange: Excel97.Range; надо написать IRange: Excel97.ExcelRange;


14-04-2006 05:24
Или Cells.Find


14-04-2006 05:20
Владимир:

Может быть встроить в Эксель макрос поиска и вызывать из своей программы?


13-04-2006 22:34
   Здравствуйте!

   На сайте www.delphikingdom.com я задал вопрос №41565 (http://www.delphikingdom.com/asp/answer.asp?IDAnswer=41565) про поиск в Excel.

   Вы можете посоветовать как скорость поиска в Excel из программы на Delphi повысить до ее реального значения (как в самом Excel) при условии, что при работе программы и процессе поиска сам Excel, не должен быть виден:

Excel:=CreateOleObject('Excel.Application');
...
Excel.visible:=false;


   Буду благодарен за любую помошь!

   С уважением, Владимир!
   mailto:fua@rambler.ru


09-04-2004 03:48
Пожалуй я согласен с Еленой Филипповой, наверное вопрос надо было спихнуть в круглый стол хотя не факт что никто не напишет. Впрочем если вопрос, как я понял не в тему, его же всегда можно удалить, это будет тоже в  своем роде ответом. Однако поскольку он уже сдесь торчит, то я могу добавить (наверняка кому-то пригодиться), что единственный выход из этого мелкософтофского тупняка, который я нашел, выглядит примерно так:
Excel := TExcelApplication.Create(Self);
Excel.ConnectKind := kNewInstance;              
Excel.Connect;
Excel.Workbooks.Add(NULL, 0);
WorkBook := TExcelWorkBook.Create(Self);
WorkBook.ConnectTo(Excel.Workbooks.Item[1]);
WorkBook.VBProject.VBComponents.Add(1);
with WorkBook.VBProject.VBComponents.Item('Module1').CodeModule do
  begin
    AddFromString('Sub Macro1()' +#13+
                  'MSGBox "ё..."'  +#13+
                  'End Sub');
  end;
Excel.Run('Macro1');

Пишите внутри макроса чё хотите, а еще лучше заставте это делать Excel, а потом просто копните. Только не забудте в самом Excel в Tools\Macro\Security ткнуть Trust access to VB project и все будет ништяк работать... хотя... ну вы меня понимаете...

Короче, буду рад если кому-то еще помогло...

Andrey I.N.A.E. van Bugaets



08-04-2004 21:02
К сожалению, в статье не расмотрены вопросы, связаные с обработкой событий Excel
Очень жаль..А так статья очень неплохая...
Хотя слишком много лирических отступлений....
Про дождь и пр...Есть очень занудные места..
И чего это автор ноет?


08-04-2004 10:18
Бессмысленно задавать вопросы, не относящиеся к обсуждению статьи! Вам наверняка никто не ответит. Для этих целей есть конференция "вопрос-ответ" : Круглый стол


08-04-2004 05:23
Вопрос... строю диаграмму (неважно какую). Как бы мне установить для нее титл.
Мой вариант:

var
Excel: TExcelApplication;
WorkBook : TExcelWorkBook; WorkBook;
WorkSheet : TExcelWorkSheet;WorkSheet;
ChtObject: ChartObject;
Chart : TExcelChart;
begin
Excel := TExcelApplication.Create(Self);
Excel.ConnectKind := ckNewInstance;
Excel.Connect;
Excel.Workbooks.Add(NULL, 0);

WorkBook := TExcelWorkBook.Create(Self);
WorkBook.ConnectTo(Excel.Workbooks.Item[1]);

WorkSheet := TExcelWorkSheet.Create(Self);
WorkSheet.ConnectTo(WorkBook.WorkSheets.Get_Item(1) as _WorkSheet);

ChtObject := ChartObjects(WorkSheet.ChartObjects()).Add(100,100,100,100);
Chart := TExcelChart.Create(Self);
Chart.ConnectTo(ChtObject.Chart);

Chart.HasTitle[0] := true;

ну вот в общем и все..., с этой строки начинается геморрой.
попробовал вместо 0 (значение по умолчанию) впихнуть чё-то типа

lcid := GetUserDefaultLCID;
Chart.HasTitle[lcid] := true;

только х..., видимо ибо не х...

Чё делать не знаю...
Кстати, TExcelChart можно не юзать, только ChtObject.Chart.HasTitle[0] := true то же не пашет.

Попробовал записать макрос в Excel... переписал на пасквиль - не работает.

Уважаемые рассияне, если кто-то может выставить для меня код для установки титла диаграммы, all appreciated.

Еще раз извиняюсь за дебильный вопрос  







31-01-2004 14:51
А вот у меня установлены ЁкселXP и Дельфи7 и при компиляции проекта выдаёт:
[Фатальная Ошибка] Unit1.pas(31): Read error on 'ExcelXP.dcu'
Что-то изменилось по сравнению с 97 ёкселом и 5 дельфями?


30-09-2002 11:30
Полезная информация. Спасибо автору. Я сначала хотел делать отчет с помощью QReport`a, но смысла в этом теперь не вижу. Намного лучше разобраться как работать с Excel.


04-07-2002 16:29
Статья замечательная. Хотелось бы задать вопрос: Как использовать метод Select у Range? Что я только не пробовал, то выдает ошибку: 'Недостаточно параметров', то 'Метод Select завершился не корректно' (когда использую Select без параметров), а не выполняется. Подскажите как сделать это правильно?


14-02-2002 16:30
А что думает уважаемый автор по поводу изменения числа параметров в функциях при работе с Delphi 6 и MS Office 2000 ...
С уважением,
      Сергей


14-02-2002 16:30
А что думает уважаемый автор по поводу изменения числа параметров в функциях при работе с Delphi 6 и MS Office 2000 ...
С уважением,
Сообщение не подписано


12-02-2002 12:40
Почему у меня при переброске в Excel более порядка 900 строк (по 7-8 полей) Excel не отгружается из памяти. Помогите пожалуйста кто нибудь.
SOS!


12-02-2002 12:38
Почему у меня при переброске в Excel более порядка 900 строк (по 7-8 полей) Excel не отгружается из памяти. Помогите пожалуйста кто нибудь.
SOS!
Сообщение не подписано


08-02-2002 15:06
Благодарю Автора - спасителя!!!
Программист во время аврала...
Сообщение не подписано


21-01-2002 15:08
Прекрасно! Искал что-либо подобное уже 2 недели!! Спасибо автору!!!


11-06-2001 17:13
А я отличусь оригинальностью - выражу благодарность автору не только за статью (что само собой разумеется), но и за великолепный компонент XLReport! Спасибо, очень помогает.


19-05-2001 23:18
Ну, а если значения в ячейках A1:J8000 должны быть разными 8-) ?
Hello_world_1 .... Hello_world_N   (N -> \infty)


17-04-2001 21:14
О, мне здесь по-прежнему пишут!
Отвечаю. В метод ToVarArray из примера к третьей статье
я добавил вот эти строки:

  IR1 := ISheet.Range["A1:J8000", EmptyParam];
  IR1.Value := "Hello, World!";

И до сих пор не могу понять, почему у меня это дело
не 'виснет намертво'... :)


24-02-2001 22:23
Всё просто замечательно.
Но вот не пытались ли вы, ребята,
запихнуть в Excel
в ячейки A1:J8000
что-нибудь типа 'Привет, мир!'?
Почему-то при этом он виснет намертво.


05-12-2000 06:47
Мдя... попадись мне эта статейка месяцев эток 5 назад...
Не пришлось бы лазить в нете и XLReport качать. А проблема поднята еще та, ну не любят Микрософы Дэльфистов!)))))))))


13-11-2000 17:25
Все просто и круто!
Спасибо за стаейку, маленькая но с умом. Калверт немного ленив и разобрал Ворд, доку на который найти легче,чем на Ёксель. А тут все просто и уже готово к употреблению.
Пиши больше, читатели спасибо скажут!!!!!!


28-10-2000 23:46
попал сюда, после того как порядком излазил Excel.tlb, нового особо для себя не почерпнул, НО! О, господи, сколько бы я сэкономил времени, если бы увидел эту статью до написания проги ;)


26-09-2000 11:42
Никогда не приходилось использовать таких возможностей Делфи, а сейчас попросили програмулину написать, которая бы издевалась над таблицами в Екселе. Конечно, легче все сделать на ВБА под ним же, но наверное я ненормальный и решил, что по мне легче на Делфях...
Вот тут то эта статейка мне и помогла. Огромное спасибо...


23-09-2000 23:15
Приветствую всех жителей славного Королевства!

К сожалению я редко посещаю сие место.
И, прошу прощения, еще реже заглядываю сюда.
Обращайтесь,пожалуйста, почтой.

А по поводу 'не выгружается' - задачи такой не ставил.
Проект просто 'отпускает' Excel в свободное плавание.
Чтобы выгрузить, сделайте вызов Excel.Application.Quit
перед отсвобождением соответствующего интерфейса.

С уважением, я...


20-09-2000 18:36
ЗАПУСТИЛА ВАШ ПРОЕКТ ДЛЯ ДЕЛФИ5 И ВСЕ БЫ ХОРОШО, ДА EXCEL НЕ ВЫГРУЖАЕТСЯ ИЗ ПАМЯТИ. ЕСТЬ СОБСТВЕННЫЙ ПРОЕКТ, ГДЕ НЕСКОЛЬКО ВСЕ ИНАЧЕ, НО ТОЖЕ НЕ МОГУ ВЫГРУЗИТЬ EXCEL.ОЛЬГА.
Сообщение не подписано


23-08-2000 14:36
Молодчина! Эта тема действительно нужна. Огромная просьба продолжить.
Спасибо.


22-08-2000 11:35
Рекомендую автора наградить и вручить медаль, в качестве приза зрительских симпатий.
:)))


26-07-2000 14:08
Спасибо автору!


24-07-2000 16:27
Спасибо автору!
Очень интересная тема. Буду ждать продолжения.


25-06-2000 15:16
Личное мнение, но ради подобных вещей можно смириться с нашими скоростями в I-net. Может кротко, но главное направление, а кому действительно нужно тот воспользуется  


19-06-2000 13:57
Долго искал что-либо подобное в Сети. Спасибо Автору!!!
Жду продолжения.


15-06-2000 16:22
Берете книжку 'Delphi 4 - руководство разработчика' от SAMS, c CD-шника сдираете примеры, и флаг в руки и барабан на шею. Косяк в следующем - в VBA (который и становится доступным ч.з. Excel_TLB или Excel97 - в 5-ке) можно параметры методам задавать чуть ли не левой ногой. В Дельфе приходится трахаться с 8, а то и 16-ю параметрами. Гнусное, но красивое в итоге занятие. А с Word-ом я два дня про:?*%:ся, пока понял способы обращения к элементам документов.
Если что, пишите. Можа чего подскажу.


07-06-2000 13:22
Хе-хееее....
Что поднят вопрос пользованья Ёкселя - оченно даже хорошо! Таких, как у автора, заказчиков - пруд пруди. Самому приходилось не токмо шо отчёты в него вылепливать, а и куски баз через него показывать...
Что до самого Ёкселя и его отношения к МелкоМягким, так для многих не секрет, что лабался он соршенно другим отделом, нежели весь остальной офис. Потому и получился вылизанным и толковым. :о)


05-06-2000 15:20
Давно искал что то подобное. Cool!!!


05-06-2000 09:51
Очень полезный материал!


Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
Вода мокрая или сухая?
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.

Оценка содержания
 
Содержит полезные и(или) интересные сведения
 
Ничего особенно нового и интересного
 
Написано неверно (обязательно укажите почему)


Оценка стиля изложения
 
Все понятно, материал читается легко
 
Есть неясности в изложении
 
Непонятно написано, трудно читается

Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования