2017-03-20 2 views
0

Mein Code funktioniert gut mit dem Generieren einer Excel-Datei, dank dieser Community hier. Aber ich habe immer noch ein Problem:So stellen Sie einen Eigenschaftswert in Excel dar

Ich habe eine ListBox, aus der ich Daten in eine Excel-Datei exportieren.
Wenn ich es laufen, und die Datei wird erstellt, ich öffne sie und in den Zeilen Ich sehe „SheduleMenager.Employees“

Mitarbeiter die Klasse in meinem Projekt, in dem ich zwei Eigenschaften haben:
string Name und bool Experience

Hier ist eine Schaltfläche, um die Excel-Datei zu erstellen und aufzufüllen:

private void Generateexcelfile_Click(object sender, RoutedEventArgs e) 
{ 
    Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 

    Excel.Workbook xlWorkBook; 
    Excel.Worksheet xlWorkSheet; 
    object misValue = System.Reflection.Missing.Value; 

    xlWorkBook = xlApp.Workbooks.Add(misValue); 
    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

    for (int i = 0; i < MonBox.Items.Count; i++) 
    { 
     xlWorkSheet.Cells[i + 1, 1] = MonBox.Items[i].ToString(); 
    } 
    xlWorkBook.SaveAs("FILEPATH", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
    xlWorkBook.Close(true, misValue, misValue); 
    xlApp.Quit(); 
} 

ich würde wirklich glücklich sein, wenn Sie können hilf mir, einen Wert von Employees.Name

Antwort

2

zu repräsentieren Ich denke, dass MonBox enthält eine Liste von Mitarbeitern, in Items Sammlung. Wenn das so ist, Ihre Linie

ändern
xlWorkSheet.Cells[i + 1, 1] = MonBox.Items[i].ToString(); 

in

xlWorkSheet.Cells[i + 1, 1] = (MonBox.Items[i] as SheduleMenager.Employees).Name; 
+0

hey ich dieses mit MonBox.Items versucht haben, [i] .Name aber visuelle Rückkehr mir ein Fehler wie folgt aus: ‚Objekt 'enthält keine Definition für' Name 'und keine Erweiterungsmethode' Name ', die ein erstes Argument vom Typ' Objekt 'akzeptiert, könnte gefunden werden (fehlt eine using-Direktive oder eine Assembly-Referenz? –

+0

Wie ich schon sagte, rate ich. Versuchen Sie, 'MonBox.Items [i]' in den entsprechenden Typ zu werfen. Ich habe meine Antwort bearbeitet – Nino

+0

Oh Vielen Dank! Es funktioniert perfekt :) –

Verwandte Themen