
思路大概是,自己先把数据整理好,然后用字典,拼表头,最后填充数据
var values = new List<Dictionary<string, object>>(); //创建数据
var header = new Dictionary<string, object> //添加表头
{
{ "用户名", "" },{ "薪资", "" },{ "迟到早退扣款", "" },{ "旷工扣款", "" },
{ "最终薪资", "" }
};
foreach (var itemName in itemsAll)
{
header.Add(itemName.Name, "");
}
values.Add(header);
//填充数据
foreach (var info in list)
{
var row = new Dictionary<string, object>
{
{ "用户名", info.Salary.Username },{ "薪资", info.Salary.Money },
{ "迟到早退扣款", info.Salary.LateOrEarly },{ "旷工扣款", info.Salary.OffDuty },
{ "最终薪资", info.Salary.FinaMoney }
};
foreach (var item in info.Items)
{
row[item.Name] = item.Money;
}
values.Add(row);
}