closedXML insert subcollection

时间:2015-10-20 11:11:08

标签: c# asp.net asp.net-mvc closedxml

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

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

如何使用子集合插入集合?

1 个答案:

答案 0 :(得分:0)

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

将成员类型更改为实现IList接口的内容,并覆盖ToString()方法。这样,您将可以直观地显示数组。例如:

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

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