オブジェクトのリストが与えられた場合、リスト内の各アイテムが行で表され、各プロパティが行内の列であるデータセットに変換する必要があります。次に、このDataSetは、Excelドキュメントをレポートとして作成するために、 Aspose.Cells関数に渡されます。
私が次を持っているとしましょう:
public class Record
{
public int ID { get; set; }
public bool Status { get; set; }
public string Message { get; set; }
}
Listレコードがある場合、次のようにそれをDataSetに変換するにはどうすればよいですか。
ID Status Message
1 true "message"
2 false "message2"
3 true "message3"
...
現時点で私が考えることができるのは次のとおりです。
DataSet ds = new DataSet
ds.Tables.Add();
ds.Tables[0].Add("ID", typeof(int));
ds.Tables[0].Add("Status", typeof(bool));
ds.Tables[0].Add("Message", typeof(string));
foreach(Record record in records)
{
ds.Tables[0].Rows.Add(record.ID, record.Status, record.Message);
}
しかし、この方法では、少なくとも新しいプロパティがRecordに追加された場合、それらはDataSetに表示されないため、より良い方法があるはずだと思います...しかし同時に、それぞれの順序を制御できますプロパティが行に追加されます。
誰かがこれを行うためのより良い方法を知っていますか?