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 に答える