Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Export в Exel из разных форм программы, Нужен совет 
:(
    Опции темы
DenRip
Дата 20.6.2007, 19:11 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Пишу программу, не знаю сколко я буду её писать, месяц или год.......
Программка не сложная.
В конечном итоге вся инфа которая накопится в программке будет переноситься в ексель, но переносить в Exel я ещё не умею.
Научится я думаю будет не сложно.
Когда программа будет готова, боюсь столкунутся с какими ни будь проблемами экспорта.
Типа: (Эх!!! Блин!! не так надо было делать, а вот как......) и давай все переделывать...........

Нужен Вашь совет:
1.  Из Каких  компонентов легче производить экспорт?
2.  Из каких компонентов вообще нельзя экспортнуть в эксель?
3.  У меня много  форм, около 60ти может стоить всю информацию  предварительно собрать гдето в одном месте, а потом экспортнут в Ексель??
Вот так.....
Экспорт будет производится из комбобоксов, едитов, мемо, лэйблов и тд.
Так же имеется несколько таблиц  Access......
PM MAIL   Вверх
Данкинг
Дата 20.6.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Вообще, на эту тему множество раз писали, да и в ДРКБ тоже есть. Ну вот, одна из моих процедур отчёта из Access (ADO1) в Excel. 
Код

procedure TForm1.report1;
var row,jj,j,y1,y2:integer;
d1:tdate;
begin
ex:=createoleobject('excel.application');
ex.visible:=false;
ex.workbooks.add;
try
Ex.ActiveSheet.PageSetup.Orientation := xlLandscape;
Ex.ActiveSheet.PageSetup.topmargin:=0;
Ex.ActiveSheet.PageSetup.bottommargin:=0;
Ex.ActiveSheet.PageSetup.leftmargin:=0;
Ex.ActiveSheet.PageSetup.rightmargin:=0;
except
end;

ex.activeworkbook.activesheet.Rows[1].Font.Bold := True;
ex.activeworkbook.activesheet.Range['A1:H1'].Merge;
ex.activeworkbook.activesheet.Rows[1].Font.Bold := True;
ex.activeworkbook.activesheet.Rows[1].Font.Size := 14;
ex.activeworkbook.activesheet.cells.item[1,1]:='Отчёт с '+datetostr(dates.Date)+' по '+datetostr(datepo.Date);
ex.activeworkbook.activesheet.cells.item[2,1]:='ФИО/Дата';
ex.activeworkbook.activesheet.cells.item[2,1].ColumnWidth := 20;
ex.activeworkbook.activesheet.Cells[2,1].WrapText:=true;
j:=2;
d1:=dates.Date;
ex.activeworkbook.activesheet.Rows[2].Font.Bold := True;
ex.activeworkbook.activesheet.Cells[2,1].Borders.lineStyle := 1;
while d1<=datepo.Date do
begin
ex.activeworkbook.activesheet.cells.item[2,j].NumberFormat:='@';
ex.activeworkbook.activesheet.cells.item[2,j]:=datetostr(d1);
ex.activeworkbook.activesheet.cells.item[2,j].ColumnWidth := 3;
ex.activeworkbook.activesheet.Cells[2,j].Orientation := 90;
if (dayofweek(d1)=7) or (dayofweek(d1)=1) then ex.activeworkbook.activesheet.cells.item[2,j].interior.color:=clsilver;
d1:=d1+1;
inc(j);
tt:=j;
end;
ex.activeworkbook.activesheet.cells.item[2,tt].ColumnWidth := 3;
ex.activeworkbook.activesheet.Cells[2,tt].Orientation := 90;
ex.activeworkbook.activesheet.cells.item[2,tt]:='Всего';
ex.activeworkbook.activesheet.cells.item[2,tt].interior.color:=clGray;
row:=3;
gauge.MaxValue:=ado1.RecordCount;
gauge.Visible:=true;
application.ProcessMessages;
ado1.First;
for i:=1 to ado1.RecordCount do
 begin
 ex.activeworkbook.activesheet.Cells.item[row,1]:=ado1.FieldValues ['fullname'];
 gauge.Value:=i;
 application.ProcessMessages;
 zapros.Close;
 zapros.SQL.Clear;
 zapros.SQL.Add('select * from grafik where user="'+ado1.FieldValues ['user']+'"');
 zapros.Open;
 zapros.First;
 tot:=0;
 for jj:=1 to zapros.RecordCount do
  begin
   for j:=2 to ex.ActiveSheet.UsedRange.columns.Count do
    begin
     if vartostr(ex.activeworkbook.activesheet.Cells[2,j])=zapros.FieldValues ['day'] then
      begin
      ex.activeworkbook.activesheet.cells.item[row,j].NumberFormat:='@';
      ex.activeworkbook.activesheet.cells[row,j].Font.Size:=8;
      ex.activeworkbook.activesheet.Cells.item[row,j]:=zapros.FieldValues ['time']+' '+zapros.FieldValues ['komment'];
      if length(zapros.FieldValues ['komment'])<> 0 then ex.activeworkbook.activesheet.Cells[row,j].Orientation := 90;
      try
      TOT:=tot+strtofloat(zapros.FieldValues ['time']);
      except
      end;
      end;
     end;
  zapros.Next;
  end;
ex.activeworkbook.activesheet.cells[row,tt].Font.Size:=8;
ex.activeworkbook.activesheet.cells.item[row,tt].NumberFormat:='@';
ex.activeworkbook.activesheet.Cells.item[row,tt]:=vartostr(tot);
ex.activeworkbook.activesheet.cells.item[row,tt].interior.color:=clGray;
inc(row);
ado1.Next;
end;



Вопросов же по поводу компонентов не понял... smile 




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DenRip
Дата 20.6.2007, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Цитата

Вопросов же по поводу компонентов не понял...


Кину на форму компонент едит, напишу в нём не приличное слово, нажму кнопочку, что бы в ексель экспортнуть и ни чего не выйдет,
А потом окажется что надо было не едит использовать а мемо!
Я вот к чему.......
За кодик спасибо, очень пригодится, будем учиться........
PM MAIL   Вверх
Данкинг
Дата 20.6.2007, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(DenRip @ 20.6.2007,  21:51)
Кину на форму компонент едит, напишу в нём не приличное слово, нажму кнопочку, что бы в ексель экспортнуть и ни чего не выйдет,
А потом окажется что надо было не едит использовать а мемо!

Так и так ты в ячейку Excel записываешь значение переменной, а уж откуда оно оказалось в этом переменной - какая разница...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DenRip
Дата 20.6.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 12.6.2007

Репутация: нет
Всего: нет



Цитата

а уж откуда оно оказалось в этом переменной - какая разница...

Это радует........
PM MAIL   Вверх
FireWORD
Дата 21.6.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 28.3.2007
Где: Гомель

Репутация: нет
Всего: нет



DenRip, в ячейки EXCEL можно экспортировать что угодно, хоть Float хоть String 
Код

Excel.ActiveSheet.Cells.Item[integer,integer].value:='Вот сюда можешь писать что угодно и откуда угодно';

Посмотри в примере предложенном Данкинг-ом, там есть все что надо smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0977 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.