一、先上效果图

二、上代码
var columns = new ExcelColumnCollection("学生信息")
{
new ExcelColumn("学生信息")
{
Items = new []
{
new ExcelColumn("个人信息")
{
Items = new []
{
new ExcelColumn("姓名"),
new ExcelColumn("生日", style =>
{
style.ColumnWidth = 14;
style.Alignment = HorizontalAlignment.Center;
}),
}
},
new ExcelColumn("家庭信息")
{
Items = new []
{
new ExcelColumn("地址"),
new ExcelColumn("电话"),
}
},
}
},
new ExcelColumn("成绩信息")
{
Items = new []
{
new ExcelColumn("文综")
{
Items = new []
{
new ExcelColumn("语文"),
new ExcelColumn("历史"),
}
},
new ExcelColumn("理综")
{
Items = new []
{
new ExcelColumn("数学",style=>
{
style.Format = "0.00";
}),
new ExcelColumn("物理"),
}
}
}
}
};
var table = new ExcelTable("学生信息");
table.ApplyHeaders(columns);
table.FreezePanes(4, 1);
for (int i = 0; i < 100; i++)
{
var row = table1.NewRow();
row["姓名"] = "花间岛" + i;
row["生日"] = DateTime.Now.ToString();
row["地址"] = "浙江杭州";
row["电话"] = "10086";
row["语文"] = 100;
row["历史"] = 50;
row["数学"] = 99;
row["物理"] = 97;
table1.Rows.Add(row);
}
var workbook = new ExcelWorkbook();
workbook.Tables.Add(table);
workbook.SaveToFile("D:\\demo.xlsx", ExcelFileType.Xlsx);
三、高级玩法,基于ISheet扩展
var table = new ExcelTable("消费信息");
table.ApplyHeaders(new ExcelColumnCollection("消费信息")
{
new ExcelColumn("商品",style=>
{
style.Alignment = HorizontalAlignment.Center;
}),
new ExcelColumn("图片",c=>
{
c.ColumnWidth = 20 ;
}),
new ExcelColumn("价格"),
});
for (int i = 0; i < 10; i++)
{
var row = table.NewRow();
row.Height = 800;
row["商品"] = "哇哈哈";
row["价格"] = 15.2;
row["图片"] = Image.Load("D:\\t.png");
table.Rows.Add(row);
}
var workbook = new ExcelWorkbook(ExcelFileType.Xlsx);
var sheet = workbook.CreateSheet();
sheet.InsertTable(table,1,1);
sheet.SetRow(105, row =>
{
row.SetCell(0, (cell, style) =>
{
cell.SetData("合计");
style.Alignment = HorizontalAlignment.Right;
});
row.SetCell(1, (cell, style) =>
{
cell.SetData(200.00);
style.Alignment = HorizontalAlignment.Right;
});
});
workbook.SaveToFile("D:\\demo2.xlsx");
四、读取数据
var workbook = new ExcelWorkbook();
workbook.LoadFormFile("D:\\demo3.xlsx");
var sheet = workbook.GetSheet(0);
var table1 = workbook.ExportTable(sheetIndex: 0, firstRow: 3, firstColumn: 0, columnCount: 4);
foreach (var item in table1.Rows)
{
var a1 = item.GetValue<decimal?>("语文");
var a2 = item.GetValue<decimal>("历史");
var a3 = item.GetValue<decimal>("数学");
var a4 = item.GetValue<DateTime>("生日");
}
var columns = new ExcelColumnCollection()
{
new ExcelColumn("姓名"),
new ExcelColumn("生日"),
new ExcelColumn("地址"),
new ExcelColumn("电话"),
new ExcelColumn("语文"),
new ExcelColumn("历史"),
new ExcelColumn("数学"),
new ExcelColumn("物理"),
};
var table2 = workbook.ExportTable(0, columns, 4);
foreach (var item in table1.Rows)
{
var a1 = item.GetValue<decimal?>("语文");
var a2 = item.GetValue<decimal>("历史");
var a3 = item.GetValue<decimal>("数学");
var a4 = item.GetValue<DateTime>("生日");
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性