Aus ComboBox zugewiesene Spalte einer Excel Tabelle erfahren



  • MoiMoi,

    ich habe ein Programm geschrieben, welches mir Daten aus einer Excel Tabelle einliest, verarbeitet und ausgibt.
    Nun wollte ich es erweitern (da unterschiedliche Tabellen), indem ich jeweils fünf label untereinander und fünf Combobox´ daneben gepackt habe.

    Die label sehen wie folgt aus:
    Straße:
    Hausnummer:
    Hausnummerzusatz:
    Ort:
    PLZ:

    In den Comboboxen sind die Header(also erste Zeile) der jeweiligen Exceltabellen hinzugefügt durch folgenden Code:

    for (int j = 1; j < SpaltenAnzahl; j++)
                {
                    if (range.Cells[1, j].Value2 != null)
                    {
                        title = (string)(range.Cells[1, j] as Microsoft.Office.Interop.Excel.Range).Value2;
                        titles[j - 1] = title;
                    }
                }
    
                this.cbStrasse.Items.AddRange(titles);
                this.cbHausnr.Items.AddRange(titles);
                this.cbHausnrZusatz.Items.AddRange(titles);
                this.cbOrt.Items.AddRange(titles);
                this.cbPLZ.Items.AddRange(titles);
    

    Soweit so gut, nun möchte ich, dass die jeweilige Spalte dann durch Auswahl der ComboBox genutzt werden kann.
    Wie finde ich heraus, welche das ist?
    Momentan arbeite ich fix, also muss die Spalten manuell im Code ändern.

    string SpalteA = "A" + i;
    string SpalteB = "B" + i;
    string SpalteC = "C" + i;
    string SpalteD = "D" + i;
    eWorkSheet.get_Range(SpalteC, SpalteC).Text.ToString()
    

    Schonmal vielen Dank im Voraus 🙂

    Schöne Grüße,

    Stryke



  • Ja, sieht wieder nach unserem Liebling MVVM aus, nur das wir statt WPF die
    Microsoft.Office.Interop.Excel zur Verfügung haben.

    Jetzt suchen wir das Pordon zur IDispatcherInvoke in Excel.
    http://msdn.microsoft.com/de-de/library/Microsoft.Office.Interop.Excel(v=office.11).aspx

    (Ich vermisse mein COM+ *snüff* 😞 )


Log in to reply