Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Number und date formatting to Excel
ltrader
myCSharp.de - Member



Dabei seit:
Beiträge: 60
Herkunft: Mannheim

Themenstarter:

Number und date formatting to Excel

beantworten | zitieren | melden

Hallo,

unsere Applikation liest Datums- und Dezimalwerte aus dem Backend aus und stellt sie in einem Excel sheet dar.

Jetzt stehe ich vor der Frage wie ich am Besten sicherstelle, dass die Darstellung der Werte im Excel Sheet in Bezug auf die im Windows XP/Vista unter „Regional and Language Options“ eingestellten Locales – Dezimalseparatoren, Tausender Trennzeichen, Stunden: Minuten:Sekunden –dargestellt werden.
Leider benimmt sich Excel da manchmal etwas eigensinnig.

Kennt ihr eine Möglichkeit in .NET den Formatierungsstring abhängig von den eingestellten Region Settings auszulesen und sinnvoll für das Formatieren der in Excel anzuzeigenden Werte zu nutzen?

Würdet ihr anders vorgehen?

Entscheidend ist, dass die Formatierung der Werte in Excel identisch mit den unter Regional Settings als Beispiel angezeigten Werten ist.


Grüße
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo ltrader,

ist dein Problem, Excel dazu zu bekommen, die Werte richtig zu formatieren oder willst du die Werte in C# richtig formatieren (damit Excel sie versteht)?

Den zweiten Teil kann ich beantworten: String.Format arbeitet standardmäßig mit den Einstellungen in "Regional and Language Options".

herbivore
private Nachricht | Beiträge des Benutzers
ltrader
myCSharp.de - Member



Dabei seit:
Beiträge: 60
Herkunft: Mannheim

Themenstarter:

beantworten | zitieren | melden

Hallo herbivore,
Zitat
Den zweiten Teil kann ich beantworten: String.Format arbeitet standardmäßig mit den Einstellungen in "Regional and Language Options".

dachte ich auch, macht ja auch Sinn. Die Bestätigung dass das so ist hilft mir aber. Danke dir.
Zitat
ist dein Problem, Excel dazu zu bekommen, die Werte richtig zu formatieren oder willst du die Werte in C# richtig formatieren (damit Excel sie versteht)?
Eine Kombination aus beidem ist wichtig um zu gewährleisten, dass das Resultat passt. Dem User ist natürlich wichtig, dass die Formatierungen im Frontend (Excel) stimmen. Was hinter den Kulissen geschieht ist für ihn nebensächlich

Die Sache ist soweit implementiert, dass das Formatieren passen müsste. Um es zu testen werde ich auf meiner Maschine mal sämtliche Ländereinstellungen durchprobieren und die Soll Formatierungen mit den Inst Formatierungen vergleichen. Um das ganze dann automatisiert - regressiontest fähig - zu machen, werde ich mal sehen ob ich in meinem Unit Test die regional settings mit Hilfe von .NET ändern kann. So kann ich dann nach jedem Ändern den format string meiner Funktion abfragen und mit dem Soll wert vergleichen.

Was ich noch herausfinden muss ist, wie man die Regional Settings mit C# ändert. Spontan dachte ich da an System.Environment, das scheint aber so nicht zu gehen.

Viele Grüße
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
private Nachricht | Beiträge des Benutzers
ltrader
myCSharp.de - Member



Dabei seit:
Beiträge: 60
Herkunft: Mannheim

Themenstarter:

beantworten | zitieren | melden

kurzer Nachtrag:
Vielleicht denke ich auch einfach zu kompliziert und es reicht zum automatisierten Testen, wenn ich auf den CurrentThread einfach eine entsprechend neue CultureInfo Instanz setze. Das sollte ja auf die App die gleiche Wirkung haben, wie wenn ich Windows global die regional settings ändere.

Gruß, ltrader
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
private Nachricht | Beiträge des Benutzers