Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#4

Re: Excel -Export, NumberFormat '0.00' klappt nicht

  Alt 24. Jul 2009, 09:37
Hallo,

ein kleiner Auszug aus einem meiner Programme, eventuell hilft Dir das etwas:
Delphi-Quellcode:
Var
          fSummeExcel : Extended;
          fSummeIV : Extended;
          fDifferenz : Extended;
          fMonatsUmsatz : Extended;
          sEMessage : String;
          iErrorCode : Word;
          sExcelFile : String;
          sTabelle : String;
          iRecordCount : Integer;
          i : Integer;
          lcid : Integer;
          ea : TExcelApplication;
          ewb : TExcelWorkbook;
          ews : TExcelWorkSheet;
          
begin
  // Dat dauert wat.
  Screen.Cursor := crHourGlass;
  // Diese ID wird zur Kommunikation mit Excel benötigt.
  lcid := LOCALE_USER_DEFAULT;
  Try
    // Summenvariabeln initialisieren.
    fSummeExcel := 0;
    fSummeIV := 0;
    // SQL-Statement für Summe der Umsätze holen
    fmDataBase.qrySelect.SQL.Text := fmDataBase.fnGetSQL(100);
    // und Jahreszahl zuweisen.
    fmDataBase.qrySelect.ParamByName('JAHR').AsInteger := StrToInt(Trim(meGeschaeftsJahr.Text));
    // Variabeln für die Verbindung zu Excel initialisieren
    ea := TExcelApplication.Create(Self);
    ewb := TExcelWorkbook.Create(Self);
    ews := TExcelWorksheet.Create(Self);
    Try
      // Verbindungsart festlegen - grundsätzlich eine neue Instanz von Excel starten.
      // Dies ist wichtig, da sonst Probleme mit einem bereits offenen Excel
      // entstehen können.
      ea.ConnectKind := ckNewInstance;
      ewb.ConnectKind := ckNewInstance;
      ews.ConnectKind := ckNewInstance;
      // Excel soll unsichtbar arbeiten, sichtbar wird es seeeeeeehr langsam.
      ea.Visible[lcid] := False;

.. diverses Allerlei

    Finally
      // Verbindung zu Excel beenden.
      Try
        ewb.Disconnect;
        ews.Disconnect;
        ea.Application.Quit;
        ea.Disconnect;
        ea.Quit;
        ews.Free;
        ewb.Free;
        ea.Free;
      Except
        On e : Exception Do Begin
          MessageDlg('Fehler beim Trennen der Verbindung zu Excel. ' + #13 + e.Message,mtError,[mbok],0);
        End;
      End;
    End;
  Except
    On e : Exception Do Begin
      MessageDlg(e.Message,mtError,[mbok],0);
    End;
  End;
  Screen.Cursor := crDefault;
end;
  Mit Zitat antworten Zitat