Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 27.04.2009, 22:20
Аватар для Sphinx
Sphinx Sphinx вне форума
Прохожий
 
Регистрация: 27.04.2009
Адрес: Kemcity
Сообщения: 36
Репутация: 12
По умолчанию

Может так лучше будет, пока в Excel все не выгрузится,он не покажется, и будет тебе форма с прогресс баром.
Код:
procedure TForm5.SpeedButton3Click(Sender: TObject);
var
ExcelApp : variant;
row :integer;
col:integer;
begin
form10.ShowModal;
dbgrid1.DataSource.DataSet.First;
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.workbooks.open(ExtractFilePath(ParamStr(0))+'OtchetPokyp.xls');
ExcelApp.Visible := False;
ExcelApp.WorkBooks[1].WorkSheets[1].Name := 'Отчет1';
ProgressBar1.Max := DBGrid1.DataSource.DataSet.RecordCount-1;
ProgressBar1.Position := 0;
ProgressBar1.Step := 1;
for row :=0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
begin
for col :=0 to DBGrid1.Columns.Count-1 do
begin
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+7,col+2].value:=dbgrid1.DataSource.DataSet.Fields[col].AsString;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+7,1]:=row+1;
end;
ProgressBar1.StepIt;
Application.ProcessMessages;
DBGrid1.DataSource.DataSet.Next;
ExcelApp.Range[excelapp.cells[7,1],excelapp.cells[7+DBGrid1.DataSource.DataSet.RecordCount-1,9]].select;
ExcelApp.Selection.Borders.LineStyle:= xlContinuous;
end;
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+8,col-6].value:='м.п.';
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+8,col].value:='Подпись';
ExcelApp.WorkBooks[1].WorkSheets[1].cells[row+8,col+1].value:='_________'
ExcelApp.Visible := True;
end;
Ответить с цитированием
  #17  
Старый 27.04.2009, 22:25
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

А что вас не устраивает в наших вариантах? Вроде должен бежать прогрессбар пока вы выводите в эксель. Разве не так происходит?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #18  
Старый 28.04.2009, 08:01
Hobbit_88 Hobbit_88 вне форума
Прохожий
 
Регистрация: 24.04.2009
Сообщения: 20
Репутация: 10
По умолчанию

Всем спасибо. Вариант splinx работает как надо.
Ответить с цитированием
  #19  
Старый 07.05.2009, 16:49
zfr zfr вне форума
Прохожий
 
Регистрация: 07.05.2009
Сообщения: 4
Репутация: 10
По умолчанию

начала сделай TQuery(dbgrid1.DataSource.DataSet).FetchAll
а потом
ProgressBar1.Max := DBGrid1.DataSource.DataSet.RecordCount * DBGrid1.Columns.Count

и место
for row :=0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
напиши
while not DBGrid1.DataSource.DataSet.Eof do

и
ProgressBar1.StepIt; постав внутри
for col :=0 to DBGrid1.Columns.Count-1 do
begin
...
...
...
ProgressBar1.StepIt;
end

должен получатся
Ответить с цитированием
  #20  
Старый 23.05.2009, 14:33
Hobbit_88 Hobbit_88 вне форума
Прохожий
 
Регистрация: 24.04.2009
Сообщения: 20
Репутация: 10
По умолчанию

Еще люди подскажите. Как можно сделать, чтобы первые два поля не экспортировались в excel, а экспорт шел с 3 поля.
Ответить с цитированием
  #21  
Старый 23.05.2009, 17:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Цитата:
Сообщение от Hobbit_88
Еще люди подскажите. Как можно сделать, чтобы первые два поля не экспортировались в excel, а экспорт шел с 3 поля.
Имеется ввиду, начиная с 3-записи из набора данных, или речь идет о том, что надо выводить в эксель начиная с 3 строки.
Склоняюсь к первому варианту:
Код:
...
for row :=3 to DBGrid1.DataSource.DataSet.RecordCount-1 do
begin
...
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter