Merhaba arkadaslar,
db den excel e gonderirken asagidaki kodu kullaniyorum fakat db nin tamamini gondermiyor.45 satir gonderiyor acaba nerde yanlis yapiyorum.
var
xDS: TDataSet;
xls, wb, ws, vv: variant;
i, j: integer;
fName: string;
fDosya: textfile;
begin
SaveDialog1.Execute;
xls := CreateOleObject('Excel.Sheet');
wb := xls.Application.WorkBooks.Add;
ws := wb.Sheets.Add;
ibQuery1.DisableControls;
ibQuery1.First;
for i := 1 to ibQuery1.RecordCountdo
begin
for j := 1 to ibQuery1.Fields.Count do
begin
if i = 1 then // ilk satır alan adları için.
ws.Cells(i, j) := ibQuery1.Fields.Fields[j - 1].FieldName;
vv := ibQuery1.Fields.Fields[j - 1].Value;
ws.Cells(i + 1, j) := vv;
end;
ibQuery1.Next;
end;
ibQuery1.EnableControls;
wb.SaveAs(savedialog1.FileName);
tskler.
excel gondermede hata
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: excel gondermede hata
arkadaslar tuhaf bir sey daha grid uzerine tıklarsanız tamamını alıyor.
Garibanus
Re: excel gondermede hata
Gridin oncilick eventlerinden birinde kod yazılımı?
Re: excel gondermede hata
ibquery1.first ten önce ibquery1.fetchall yap.
Bazen kayıtların tamamını almayıp, gereken kadarını alıyor. Bu durumda da recordcount gerçek kayıt bilgisini yansıtmıyor, fetchall yapınca tüm kayıtlar sunucudan alınıyor.
Bazen kayıtların tamamını almayıp, gereken kadarını alıyor. Bu durumda da recordcount gerçek kayıt bilgisini yansıtmıyor, fetchall yapınca tüm kayıtlar sunucudan alınıyor.
Re: excel gondermede hata
arkadaslar ilginize tskler yontemi degistirerek olayi cozdum
procedure TForm1.Button1Click(Sender: TObject);
var
Rng : TOpExcelRange;
begin
OpExcel1.Connected := True;
OpExcel1.Visible := True;
OpExcel1.WindowState:=xlwsMaximized;
IBQuery1.Active:=true;
NewBook:=OpExcel1.Workbooks.Add;
Rng := OpExcel1.Workbooks[0].Worksheets[0].Ranges.Add;
Rng.Name := 'bambam'; Rng.Address := 'A1';
Rng.OfficeModel :=OpDataSetModel1;
OpDataSetModel1.Dataset :=IBQuery1;
OpExcel1.RangeByName[bambam].Populate;
OpExcel1.Workbooks[0].Worksheets[0].Activate;
Rng.AsRange.Columns.AutoFit;
IBQuery1.Active:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Rng : TOpExcelRange;
begin
OpExcel1.Connected := True;
OpExcel1.Visible := True;
OpExcel1.WindowState:=xlwsMaximized;
IBQuery1.Active:=true;
NewBook:=OpExcel1.Workbooks.Add;
Rng := OpExcel1.Workbooks[0].Worksheets[0].Ranges.Add;
Rng.Name := 'bambam'; Rng.Address := 'A1';
Rng.OfficeModel :=OpDataSetModel1;
OpDataSetModel1.Dataset :=IBQuery1;
OpExcel1.RangeByName[bambam].Populate;
OpExcel1.Workbooks[0].Worksheets[0].Activate;
Rng.AsRange.Columns.AutoFit;
IBQuery1.Active:=false;
end;
Garibanus