MSSQL Den excel e aldığım sayı alanları metin olarak görülüy

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

MSSQL Den excel e aldığım sayı alanları metin olarak görülüy

Mesaj gönderen conari »

Bundan dolayı toplam aldırılamıyor ve satırlar işaretlenip sayıya çevrilmesi gerekiyor nasıl çözebilirim.

Kod: Tümünü seç

procedure TSform.ExceleGonderClick(Sender: TObject);
var
  v,sayfa:variant;{v excel prg, sayfa calisma sayfasi}
  say,i:integer;
//isat:integer;
begin
  ALLsipQuery.open;
  say:=ALLsipQuery.recordcount;//query kayit sayisi
  v:=createoleobject('excel.application');//exceli yarat
  v.workbooks.add;//yeni calisma kitabini ekle
  sayfa:=v.workbooks[1].worksheets[1];{Birinci calisma sayfasini sayfa degiskenine ata}
    ALLsipQuery.first;
    for i:=1 to say do
    begin
    sayfa.cells[i,1]:=ALLsipQueryFISNO.text;
      sayfa.cells[i,2]:=ALLsipQuerySTHAR_TARIH.text;
        sayfa.cells[i,3]:=ALLsipQuerySTHAR_TESTAR.text;
            sayfa.cells[i,4]:=ALLsipQuerySTOK_ADI.text;
                sayfa.cells[i,5]:=ALLsipQueryEKALAN.text;
                    sayfa.cells[i,6]:=ALLsipQuerySTHAR_GCMIK.text;
                        sayfa.cells[i,7]:=ALLsipQuerySTHAR_NF.text;
                            sayfa.cells[i,8]:=ALLsipQueryToplam_Tutar.text;
                                sayfa.cells[i,9]:=ALLsipQueryISIM_SOYAD.text;
                                    sayfa.cells[i,10]:=ALLsipQueryCARI_ISIM.text;
              ALLsipQuery.next;
  sayfa.range['A1','L1000'].EntireColumn.AutoFit;
  sayfa.range['F1:H1000'].HorizontalAlignment :=-4152;
  sayfa.range['A1','L1000'].borders[1].linestyle:=1;
           v.visible:=true;//Exceli acip verileri goster
end;
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Mesaj gönderen deltas »

Kod: Tümünü seç

//Excel kolonundaki string leri integer a çevirmek için 


Function ExcelColStrToInt(ColStr: ShortString): Integer; 
Var 
  ColStrNew  : ShortString; 
  i          : Integer; 
  RetVal     : Integer; 
  Multiplier : Integer; 
  Remainder  : Integer; 
Begin 
  RetVal := 1; 
  Result := RetVal; 
  ColStrNew := ''; 
  For i := 1 To Length(ColStr) Do 
  Begin 
    If ((Ord(ColStr[i]) >=  65)  And 
       ( Ord(ColStr[i]) <=  90)) Or 
       ((Ord(ColStr[i]) >=  97)  And 
       ( Ord(ColStr[i]) <= 122)) Then 
    Begin 
      ColStrNew := ColStrNew + UpperCase(ColStr[i]); 
    End; 
  End; 
  If Length(ColStrNew) < 1 Then Exit; 
  If Length(ColStrNew) < 2 Then 
  Begin 
    RetVal := Ord(ColStrNew[1])-64; 
  End 
  Else 
  Begin 
    Multiplier := Ord(ColStrNew[1])-64; 
    Remainder  := Ord(ColStrNew[2])-64; 
    Retval     := (Multiplier * 26) + Remainder; 
  End; 
  Result := RetVal; 
End; 
 
viewtopic.php?t=5449
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Cevapla