Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2009, 21:24   #1
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию создание отчетности в Excel

всем привет,проблема такая,имееться база данных телефонный справочник .mdb,и есть прога в дельфи котрая работает с ней,и я хотел вывести все это в Excel вот код
Код:
procedure TForm1.Excel1Click(Sender: TObject);
var 
 XLApp,Sheet,Colum:Variant; 
 index,i:Integer;
begin
 XLApp:= CreateOleObject('Excel.Application');
 XLApp.Visible:=true; 
 XLApp.Workbooks.Add(-4167);
 XLApp.Workbooks[1].workSheets[1].Name:='Отчёт';
 Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
 Colum.Columns[1].ColumnWidth:=20;
 Colum.Columns[2].ColumnWidth:=20;
 Colum.Columns[3].ColumnWidth:=20;
 Colum.Columns[4].ColumnWidth:=20; 
 Colum.Columns[5].ColumnWidth:=20;

 Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
 Colum.Rows[2].Font.Bold:=true;
 Colum.Rows[1].Font.Bold:=true; 
 Colum.Rows[1].Font.Color:=clBlue; 
 Colum.Rows[1].Font.Size:=14;

 Sheet:=XLApp.Workbooks(1).WorkSheets('Отчёт');
 Sheet.Cells[1,2]:='Телефонный справочник';
 Sheet.Cells[2,1]:='Фамилия';
 Sheet.Cells[2,2]:='Имя';
 Sheet.Cells[2,3]:='e-mail';
 Sheet.Cells[2,4]:='Город'; 
 Sheet.Cells[2,5]:='Дата рождения';
  index:=3; 
 DataModule2.Bookname.First;
 for i:=0 to DataModule2.Bookname.RecordCount-1 do
  begin
Sheet.Cells[index,1]:=DataModule2.Bookname.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:=DataModule2.Bookname.Fields.Fields[2].AsString;
Sheet.Cells[index,3]:=DataModule2.Bookname.Fields.Fields[3].AsString;
Sheet.Cells[index,4]:=DataModule2.Bookname.Fields.Fields[5].AsString;
Sheet.Cells[index,5]:=FormatDateTime('dddddd',DataModule2.Bookname.Fields.Fields[6].AsDateTime);
   Inc(index);
   DataModule2.Bookname.Next;
  end;
end;
дельфи подписывает все строки связанные с фонтом и все ColumnWidth красной,но прога все равно запускается...но когда я в проге нажимаю кнопку создать отчет в Excel,то Excel запускается с пустым листом и моя прога выдает ошибку "не найден член группы"....в чем тут проблема???
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 27.12.2009, 22:30   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Sheet:=XLApp.Workbooks(1).WorkSheets('Отчёт');
Поменяйте на []
mihali4 вне форума Ответить с цитированием
Старый 28.12.2009, 16:55   #3
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

блин сработало..я ступил...спасибо
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание отчетности IceMann Microsoft Office Word 3 26.05.2009 15:17