作成日: 2026/07/24 最終更新日: 2026/07/24
文書種別
不具合
発生環境
7.1.3以降のバージョンで発生
状況
回避方法あり
詳細
帳票のデータソースとして、DataTableをオブジェクトのプロパティとして設定したデータをAddDataSourceメソッドに渡した場合、出力後の帳票にデータが反映されません。
※問題の発生するコード例
var table = new System.Data.DataTable();
table.Columns.Add(new DataColumn("Area", typeof(string)));
table.Columns.Add(new DataColumn("City", typeof(string)));
table.Columns.Add(new DataColumn("Category", typeof(string)));
table.Rows.Add("北米", "シカゴ", "家電製品");
table.Rows.Add("北米", "ニューヨーク", "家電製品");
table.Rows.Add("南米", "サンティアゴ", "家電製品");
workbook.AddDataSource("ds", new { Table = table });
回避方法
DataTableを使用せずに、AddDataSourceメソッドにデータを渡してください。
例えば、以下のようにクラスのリスト(List<T>)を使用してデータを渡す方法がございます。
static void Main(string[] args)
{
var workbook = new GrapeCity.Documents.Excel.Workbook();
workbook.Open(・・・);
var table = new List<RowData>
{
new RowData { Area = "北米", City = "シカゴ", Category = "家電製品" },
new RowData { Area = "北米", City = "ニューヨーク", Category = "家電製品" },
new RowData { Area = "南米", City = "サンティアゴ", Category = "家電製品" }
};
workbook.AddDataSource("ds", new { Table = table });
workbook.ProcessTemplate();
workbook.Save(・・・);
}
public class RowData
{
public string Area { get; set; }
public string City { get; set; }
public string Category { get; set; }
}