| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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, но все легко переносится) СУВ. ЗЫ. "И не делайте умное лицо, вы же будущий офицер." |