AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Excel -Export, NumberFormat '0.00' klappt nicht

Excel -Export, NumberFormat '0.00' klappt nicht

Ein Thema von hoika · begonnen am 23. Jul 2009 · letzter Beitrag vom 24. Jul 2009
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

Excel -Export, NumberFormat '0.00' klappt nicht

  Alt 23. Jul 2009, 12:59
Hallo #,

mit folgendem Code wird wird eine Zelle formatiert.

Delphi-Quellcode:
sFormat:= 'Standard'; // in engl. delphis muss es 'General' heissen ...
sRef:= RefToCell(iCol+1, iRow+1);
Sheet.Range[sRef,sRef].NumberFormat:= sFormat;
Klappt soweit, nur erkennt Excel damit nur selber das Format.
Eie ursprünglich 1,00 wird zu 1.

Nehme ich '0.00' (laut Makro ist das so) kommt eine
Fehlermeldung "NumberFormat konnte nicht gesetzt werden".

Nehme ich '0,00' wird ein benutzerdefiniertes Format angelegt,
was Murks wird (Zellen lassen sich nicht summieren).

Wie heisst den das richtige Format ?

#Update:#
Es scheint doch zu klappen,
ist aber doch nicht das richtige für mich.


Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

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

  Alt 24. Jul 2009, 10:09
Hallo,

versuch es mal mit
Delphi-Quellcode:
sFormat := '#.###.##0,00';
sRef:= RefToCell(iCol+1, iRow+1);
Sheet.Range[sRef,sRef].NumberFormat:= sFormat;
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

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

  Alt 24. Jul 2009, 10:24
Hallo,

danke für den Tip.
Das Problem hat sich "gelöst".
Da es eine allgemeine Export-Funktion ist,
darf ich gar kein "Numeric"-Format nehmen.

Das sieht bei Personalnummern sonst merkwürdig aus

Was nervt ist, dass er ziemlich lange braucht zum Formatieren.
Das ich aber jede Zelle einzeln anfasse, liegt es wohl daran.

Wenn ich mal Zeit habe, lasse ich mir da was einfallen.


Heiko
Heiko
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

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

  Alt 24. Jul 2009, 10: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
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

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

  Alt 24. Jul 2009, 11:44
Hallo,

Zitat:
Verbindungsart festlegen - grundsätzlich eine neue Instanz von Excel starten.
Sas ist interessant.

Usichtbar ist es bei mir auch.
Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz