| | | | |
Полный текст материала
Цитата или краткий комментарий: «... Delphi & Excel ... Итак, зачем нам, лучшим в мире программистам, нужен Excel, порождение 'злого' гения Microsoft? Конечно, часто это лишнее - «юзать» Excel для отчетов. Напечатать «платежку» можно и в QReport-е. Но…
...» |
Важно:- Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
- Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
- При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
- Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.
Добавить свое мнение.
| | Содержит полезные и(или) интересные сведения | [1] | 39 | 100% | | | | Ничего особенно нового и интересного | [2] | 0 | 0% | | | | Написано неверно (обязательно укажите почему) | [3] | 0 | 0% | | Всего проголосовали: 39 | | | Все понятно, материал читается легко | [1] | 23 | 74.2% | | | | Есть неясности в изложении | [2] | 8 | 25.8% | | | | Непонятно написано, трудно читается | [3] | 0 | 0% | | Всего проголосовали: 31 |
[TObject] [TDataSet] [TForm] [TOleServer] [TExcelApplication] [Работа с Excel]
Отслеживать это обсуждение
Всего сообщений: 3713-01-2012 07:48Спасибо большое за статьи уже двенадцать лет а все еще актуально. На Delphi 7 во всех трех примерах(первый который для Delphi5) в подключении библиотек (там где uses) не хватает Variants. И в первом примере при объявлении переменной интерфейса вместо IRange: Excel97.Range; надо написать IRange: Excel97.ExcelRange; |
|
14-04-2006 05:24
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
|
|