Excel de Toplam Almak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Excel de Toplam Almak

Mesaj gönderen ozcank »

Arkadaşlar. Hepinizin bayramını kutluyorum .İyi bayramlar.
Hücrenin toplamını SUM ile almak istedim ama bir yerde yanlışım var sanırım yardımcı olabilecek misiniz?

Kod: Tümünü seç

 While not(DBGDataset.Eof) do
   begin
     k2:=k2+1;
     For k1:=0 to DBG.Columns.Count-1 do
     begin
       //Sheet.Cells[K2,K1+8].Formula := '=SUM(H3:H' + InttoStr(K2 - 1) + ')';


       Sheet.cells[K1,8] := '=SUM(H' + inttostr(K2)+':H' + inttostr(K2) + ')';


       Sheet.Cells[k2,k1+1]:=DBG.Columns[k1].Field.AsString;
       Sheet.Columns['A:AC'].EntireColumn.AutoFit;
     end;
    DBGDataset.Next;
   end;
   WORKBOOK.SaveAs(FileName);
   ShowMessage('Excell Formatında Kayıt Tamamlandı');
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Re: Excel de Toplam Almak

Mesaj gönderen ozcank »

Arkadaşlar Merhaba; Bu şekilde Kod bloğunu düzelttim 2 yerde sorun buldum ama düzeltemedim yardımlarınıza ihtiyacım var.

1- Bu satırı aktif ettiğim zaman bütün hücreleri metin haline çeviriyor ve hesaplama yapmıyor sadece B2 sütününü metin yapmak istiyorum;

Kod: Tümünü seç

//        Sheet.Columns[Row+2].NumberFormat := '@'; //Text 


2- Sorunda hesaplama yapıyor ama 3 satır ise 2 satırda toplam yazıyor.

Kod: Tümünü seç

Sheet.Cells[Col,8].Formula := '=SUM(H2:H' + InttoStr(Col - 1) + ')';




Kod: Tümünü seç

  try
   For Row:=0 to DBG.Columns.Count-1 do
   begin
     Sheet.Cells[1,Row+1]:=DBG.Columns[Row].Title.Caption;
     Sheet.Columns[Row+1].ColumnWidth:=(0.139*DBG.Columns[Row].Width);
     Sheet.Range['A1','AD1'].Font.Bold:=True;
     Sheet.Range['A1','AD1'].Font.Color:=clRed;
 end;
   DBGDataset.First;  Col:=1;
   While not(DBGDataset.Eof) do
   begin
     Col:=Col+1;
     For Row:=0 to DBG.Columns.Count-1 do
     begin
       Excel.Cells[Col,Row+1].HorizontalAlignment :=-4131;
       Sheet.Cells[Col,Row+1]:=DBG.Columns[Row].Field.AsString;
//        Sheet.Columns[Row+2].NumberFormat := '@'; //Text   
       Sheet.Columns['A:AC'].EntireColumn.AutoFit;
             end;
    DBGDataset.Next;
   end;
   Sheet.Cells[Col,8].Formula := '=SUM(H2:H' + InttoStr(Col - 1) + ')';
   WorkBook.SaveAs(FileName);
   showmessage('Kayıtlar Excele Başarılı Bir Şekilde Aktarıldı');
zengin
Üye
Mesajlar: 233
Kayıt: 06 Ağu 2003 10:13

Re: Excel de Toplam Almak

Mesaj gönderen zengin »

s.a

kardeşim Eğer bu alanların toplmını almak istiyorsan bu şekil dener misin

Kod: Tümünü seç

http://www.delphiturkiye.com/forum/viewtopic.php?f=2&t=38182

Kod: Tümünü seç

sayfa.cells[4 + satir, sutun + 7] :='=Sum(G5:G'+inttoStr(x);
Zengin
Cevapla