0

我正在从数据库中获取我的收藏

var exclCompany = companies.Select(u => new ExcelCompaniesViewModel
{
    Id = u.Id,
    IsEditedFirstTime = u.IsEditedFirstTime ? "Да" : "Нет",
    IsLoggedFirstTime = u.IsLoggedFirstTime ? "Да" : "Нет",
    Title = u.Title,
    Description = u.Description,
    Members = u.RmCompanyMembers.Select(p => new CompanyMemberViewModel
    {
        MemberDateLogin = "12/10/12",
        MemberName = String.Format("{0} {1} {2}", p.LastName, p.FirstName, p.MiddleName),
        TelephoneMemers = p.Phone
    }).ToArray()

}); 

并插入工作表。

workSheet.Cell(2, 1).InsertData(exclCompany);

但在结果文件中,具有成员的单元格显示为:

System.Linq.Enumerable+WhereSelectEnumerableIterator

如何插入带有子集合的集合?

4

1 回答 1

0

如果您有权修改要使用的代码.ToList(),而不是.ToArray(),则可以使用:

将成员的类型更改为实现IList接口的类型,并覆盖该ToString()方法。这样,您将有自己的方式来可视化数组。例如:

public class MembersCollection: IList<CompanyMemberViewModel>
...
    public override string ToString()
    {
        return string.Join(", ", this);
    }
}

当然不要忘记实现ToString()CompanyMemberViewModel。

于 2015-10-20T11:34:28.230 回答