теперь есть задача выводить все данные из бд например после фильтрации в таблицу Excel? т.е. я не знаю какое количество данных будет в след момент, подскажите как вставить все данные в таблицу. Заранее благодарен!
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
Zloxa Тешьте себя тем, что вы умный, а я тупой! Зачем отвечать, если все что можете на хамить, сами, то давно спецом стали! Не надо помогать, если вас бесит от таких помощников тошно, другие помогут, я просто в растерянности от такого объема информации и для завершения программы остался только момент экспортирования данных из БД. В первый раз знаете ли! Я просто попросил простенький примерчик, что бы понять!
У Вас есть пример, у вас есть ссылка на статью, у вас есть справка.
Если Вам "сложно понять такую кучу", мне кажется, Вам следует подумать о смене рода деятельности.
PS. ИЗвините, если сочтете мой ответ "грубоватым", я, лично, счел Вашу просьбу однозначно грубой и наглой. Уверен, если бы ВЫ задали уточняющий вопрос, который подразумевал бы что вы чтото хотябы ПЫТАЛИСЬ понять, мой ответ был бы совсем иным.
2 Автор:
А что конкретно не ясно в статье? Как указать размерность массива? Как его заполнить? Или Вам надо готовое решение? Примерчик есть в приведенной ссылке. Вставьте этот код в ButtonClick. Только естественно его надо подредактировать под себя. А перед этим нужно запустить Excel и добавить в него рабочую книгу. Как это сделать описано туточки: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1270#01 http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1273#01
Если что-то не понятно, то ставьте вопрос конкретнее.
А можно как нить упростить, пожалуйста привидите пример, мне сложно понять такую кучу я совсем недавно этим занялся! Как сделать по щелчку кнопки! Просто небольшой примерчик, пожалуйстаааа!!!
Это фрагмент самописного компонентика, собранного на скорую руку... готовить его к публикации лениво.. но, думаю, идею отсюда выхватить достсаточно не сложно.
procedure TZtxExcelExporter.DumpDataSet;
var
i,j : integer;
arr : Variant;
rcnt,ccnt : integer;
bm : Pointer;
begin
if FCol <> 1 then
WriteLineFmt('',[]);
For i := 0 to ExportFields.Count - 1 do begin
FExcelWorkSheet.Columns[FCol].ColumnWidth := ExportFields[i].DisplayWidth;
WriteFmt('''%s',[ReplaceChar(ExportFields[i].DisplayLabel,'|',',')]);
end;
WriteLineFmt('',[]);
j := 1;
DataSet.DisableControls;
try
bm := DataSet.GetBookmark;
DataSet.Last;
DataSet.First;
rcnt := FDataSet.RecordCount;
ccnt := ExportFields.Count;
arr := VarArrayCreate([1,rcnt,1,ccnt],varVariant);
While not DataSet.Eof do begin
for i := 0 to ExportFields.Count - 1 do
arr[j,i+1] := ExportFields[i].Value;
DataSet.Next; inc(j);
end;
DataSet.GotoBookmark(bm);
finally
DataSet.EnableControls;
end;
FExcelWorkSheet.Range[FWS.Cells[FRow,FCol],FWS.Cells[FRow+rcnt-1,FCol+ccnt-1]].value := arr;
end;
procedure TZtxExcelExporter.WriteFmt(const Fmt: String;
const Args: array of const);
var str : String;
begin
FmtStr(Str, Fmt, Args);
FWS.Cells[FRow,FCol].Value := Str;
inc(FCol);
end;
procedure TZtxExcelExporter.WriteLineFmt(const Fmt: String;
const Args: array of const);
var str : String;
begin
FmtStr(Str, Fmt, Args);
if Str <> '' then
FWS.Cells[FRow,FCol].Value := Str;
inc(FRow);
FCol := 1;
end;
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.