2017-03-20 28 views
0

我的代码在生成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

回答

2

我猜MonBox包含员工名单,在Items集合。 如果是这样的话,改变你的线

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

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

嘿,我已经试过这一个与MonBox.Items [I],请将.Name但视觉回我这样的错误:“对象'不包含'Name'的定义,并且没有可以找到接受类型'object'的第一个参数的扩展方法'Name'(你缺少using指令还是程序集引用? –

+0

正如我所说的,我猜测。尝试将'MonBox.Items [i]'铸造成适当的类型。我编辑了我的答案 – Nino

+0

噢,非常感谢!它完美的工作:) –