Excel - Formatierungsproblem



  • Hallo 🙂

    Zunächst erstelle ich verschiedene Labels.

    ...
    System.Windows.Forms.Label lbJan = new System.Windows.Forms.Label();
    lbJan.MaximumSize = new Size(70, 20);
    ...
    

    Danach erfolgt die Abfrage des Umsatzes.

    ...
    Umsatz umsatz = KundenUmsatz(iJahr, iKundenNr);
    ...
    

    Anschließend wird die Summe an das Label gebunden
    Auch hier hatte ich schon den Versuch mit .ToString("c2") (ohne Erfolg)

    ...
    lbJan.Text = umsatz.Januar.ToString();
    ...
    

    Und das Label wiederum an an TableLayoutPanel

    ...
    tblUmsatz.Controls.Add(lbJan, iSpalte, 1);
    ...
    

    Soweit so gut ... Ergebnis stimmt auch.
    Die Daten werden nun nach Excel exportiert und die einzelnen Monate aufsummiert.
    Jetzt vermute ich, dass die Formatierung nicht richtig erkannt wird.
    Nur die Zahlenwerte, die keine Kommazahl sind, werden aktuell in die Berechnung mit einbezogen.

    Hier mal noch die Export-Funktion

    ...
    for (i = 1; i <= 6; i++)
                        {
                            for (j = 1; j <= 7; j++)
                            {
                                Control c = tblErsteJahreshaelfte.GetControlFromPosition(i, j);
                                if (c == null)
                                {
                                }
                                else
                                {
                                    oSheet.Cells[z, s] = Convert.ToDouble(c.Text);
                                    z++;
                                }
                            }
                            s++;
                            z = 4;
                        }
    ...
    oSheet.Range["B10"].Value = "=SUM(B4:B9)";
    oSheet.Range["C10"].Value = "=SUM(C4:C9)";
    ...
    

    Ich habe die einzelnen Zellen auch schon versucht zu formatieren, dennoch werden keine Summen gebildet

    ...
    Excel.Range rg12 = oSheet.get_Range("B4", "H10");
    rg12.NumberFormat = "#,##0.00 $";
    ...
    

    Nun meine Frage: An welcher Stelle formatiere ich falsch bzw. muss ich das richtige Format zuweisen??

    Grundsätzlich würde sich das Problem wie folgt lösen lassen
    -Schreibe in eine Zelle eine "1"
    -Kopiere diese
    -Wähle deine Spalte mit den falsch formatierten Zahlen
    -Wähle "Bearbeiten - Inhalte einfügen - Multiplizieren"

    Jedoch ist dies nich benutzerfreundlich ... also wenn dann nur als "Code-Lösung". Wie würde dies dann aussehen?

    DANKE!


Anmelden zum Antworten