代码拉取完成,页面将自动刷新
ORM To Excel,像操作对象一样操作Excel,支持查询、导出、模板等常用功能;
使用方式类比于SqlsugarORM,优雅简单,excel快速上手的不二之选;
具备的完整的单元测试,可以在仓库中查看及详细使用;
正在持续迭代中,支持的功能会越来越多~~!
对象
操作,使用简单,1分钟上手SqlsugarORM
基本类似,两者都可以兼得where
表达式查询模板
导出动态表头
功能对象
操作单元测试
,可以查看详细使用操作24
小时在线,可QQ联系:454313500Nuget包管理器直接搜索ExcelSugar.Npoi安装即可(后续可更换实现)
IExcelSugarClient excelSugarClient = new ExcelSugarClient(new ExcelSugarConfig { Path = "../../../TempExcel/Test.xlsx", HandlerType = ExcelHandlerType.Npoi });
[SugarSheet("测试表")]
public class TestModel
{
[SugarHead("姓名")]
public string Name { get; set; }
[SugarHead("描述")]
public string Description { get; set; }
/// <summary>
/// 导出可支持动态列模型
/// </summary>
[SugarDynamicHead]
public List<DynamicModel> DynamicModels { get; set; } = new List<DynamicModel>();
[SugarHead("字典列", IsJson = true)]
public Dictionary<int, string> Dic { get; set; } = new Dictionary<int, string>();
[SugarHead("对象列", IsJson = true)]
public ObjectModel ObjectModel { get; set; } = new ObjectModel();
}
/// <summary>
/// 动态表头,需具备IsCode、IsValue、IsName 3个字段
/// </summary>
public class DynamicModel
{
[SugarDynamicHead(IsCode = true)]
public string DataCode { get; set; }
[SugarDynamicHead(IsValue = true)]
public int DataValue { get; set; }
[SugarDynamicHead(IsName = true)]
public string DataName { get; set; }
}
public class ObjectModel
{
public string Test1 { get; set; }
public int Test2 { get; set; }
public List<string> Test3 { get; set; } = new List<string>();
public List<int> Test4 { get; set; }
}
//创建实体
var testModel = new List<TestModel> {
new TestModel { Description = "男的", Name = "张三",
Dic=new Dictionary<int, string>{ { 10,"OK"},{20,"NO" } },
ObjectModel=new ObjectModel{ Test1="1",Test2=2,Test3=new List<string>{ "1","2","3"},Test4=new List<int>{ 6,7,8,9} },
DynamicModels = new List<DynamicModel>{
new DynamicModel { DataCode="height",DataName="身高",DataValue=188},
} },
new TestModel { Description = "女的", Name = "李四",
ObjectModel=new ObjectModel{ Test1="11",Test2=222,Test3=new List<string>{ "11","22","33"},Test4=new List<int>{ 66,77,88,99} },
DynamicModels=new List<DynamicModel>{
new DynamicModel { DataCode="height",DataName="身高",DataValue=168},
new DynamicModel { DataCode="age",DataName="年龄",DataValue=18},
} }
};
//从excel中查询出实体
var data = await client.Queryable<TestModel>().ToListAsync();
//从excel中查询出实体,支持where表达式
var data = await client.Queryable<TestModel>().Where(x => x.Name == "张三").ToListAsync();
//将实体直接导出excel
await client.Exportable(testModel).ExecuteCommandAsync();
//将实体根据给定的模板进行导出excel
await client.Exportable(testModel).From("../../../TempExcel/Template.xlsx").ExecuteCommandAsync();
//Or await client.Exportable("../../../Test.xlsx").ExecuteCommandAsync();
效果:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。