Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как работать с Excel из Дельфи??


Автор: Shadow 23.4.2002, 13:19
Возникла необходиомость при работе с Базой, в общем хачу вытащить отчет в Ексель. Вот, откопал исходники, там есть пример, когда передаешь с DBGrid в Excel. НАписано что нужно поместить на форму TExcelApplication, поставить свойство ConnectKind в ckNewInstance, сделал.
Дальше пишу обработчик:
// XLApp=ExcelApplication!
XLApp.Connect;
XLApp.WorkBooks.Add(xlWorkSheet,0);
WorkBk:=XLApp.WorkBooks.Item[IIndex];
WorkSheet:=WorkBk.WorkSheets.Get_Item(1)as_WorkSheet;
WorkSheet.Range['A1',WorkSheet.Cells.Item[R,C]].Value:=TabGrid;
WorkSheet.Name:='Customers';
WorkSheet.Columns.Font.Bold:=True;
WorkSheet.Range['A'+IntToStr(1),'A'+IntToStr®].Font.Color:=clBlue;
WorkSheet.Range['A'+IntToStr(1),'A'+IntToStr®].ColumnWidth:=31;
XLApp.Visible[1];
XLApp.Disconnect;

вот, при компиляции на строке WorkSheet:=WorkBk.WorkSheets.Get_Item(1)as_WorkSheet;  выдает ошибку, что о не совместимых типах IDispatch и _WorkSheet. Если эту строку убрать по выдает системную адресную ошибку при компиляции, но, при этом в памяти машины остается запущенный вариант Екселя. То есть в память Эксель загружен, а вот на экране я никаких последвий не вижу...

МЛин, что мне делать???

Автор: Vit 23.4.2002, 14:05
Вопрос уже обсуждался, сначала посмотрите сюда:

http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=2;t=39

Автор: PILOT 24.4.2002, 00:12
В дополнение к Vit:
Есть замечательный цикл книг:
Word2000 для разработчика (я сам разбирался по ней, хорошая книжка)
Excel2000 для разработчика (тоже)
В книгах подробно описано как и макросы запускать как управлять объектами Office много примеров (правда на VB for App, но все легко переносится)


СУВ.
ЗЫ. "И не делайте умное лицо, вы же будущий офицер."

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)