如何在excel中表示属性值

时间:2017-03-20 15:17:25

标签: c# wpf excel

我的代码可以正常生成excel文件,感谢这个社区。 但我仍有问题:

我有一个ListBox,我可以从中将数据导出到excel文件 当我运行它并创建文件时,我打开它并在我看到的行中 “SheduleMenager.Employees”

员工是我项目中的一个类,我有两个属性:
string Namebool Experience

这是一个用于创建和填充excel文件的按钮:

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();
}

如果你能帮助我代表Employees.Name

的价值,我会非常高兴

1 个答案:

答案 0 :(得分:2)

我猜测MonBox包含Items集合中的员工列表。 如果是这样,请更改您的行

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

进入

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