导入导出通用库,支持Dto导入导出以及动态导出,支持Excel、Word、Pdf、Csv和Html。已加入NCC开源组织。
一旦成为贡献者,我们将会邀请您加入Magicodes.IE管理委员会的微信群,并拥有相关的投票权。
最新版本:2.2.0
{{Image::ImageUrl?Width=50&Height=120&Alt=404}}
{{Image::ImageUrl?w=50&h=120&Alt=404}}
{{Image::ImageUrl?Alt=404}}
/// <summary>
/// 追加集合到当前导出程序
/// append the collection to context
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="dataItems"></param>
/// <returns></returns>
ExcelExporter Append<T>(ICollection<T> dataItems) where T : class;
/// <summary>
/// 导出所有的追加数据
/// export excel after append all collectioins
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
Task<ExportFileInfo> ExportAppendData(string fileName);
/// <summary>
/// 导出所有的追加数据
/// export excel after append all collectioins
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
Task<byte[]> ExportAppendDataAsByteArray();
var exporter = new ExcelExporter();
var list1 = GenFu.GenFu.ListOf<ExportTestDataWithAttrs>();
var list2 = GenFu.GenFu.ListOf<ExportTestDataWithSplitSheet>(30);
var result = exporter.Append(list1).Append(list2).ExportAppendData(filePath);
https://dev.azure.com/xinlaiopencode/Magicodes.IE/_build?definitionId=4&_a=summary
# | 状态 | 完成时间 | 里程碑情况 |
---|---|---|---|
3.0 | ?规划中 | 2020-12-31 | 待办 |
2.2 | ☕进行中#46 | 2020-04-31 | 待办 已完成 |
2.1 | ?已完成 | 2020-03-15 | 已完成 |
名称 | Nuget |
---|---|
Magicodes.IE.Core | |
Magicodes.IE.Excel | |
Magicodes.IE.Pdf | |
Magicodes.IE.Word | |
Magicodes.IE.Html | |
Magicodes.IE.Csv | |
Magicodes.IE.AspNetCore |
名称 | 说明 | Nuget | GitHUb |
---|---|---|---|
Magicodes.WeChat.MiniProgram | 小程序SDK | Magicodes.WxMiniProgram.Sdk | |
Magicodes.Sms.Aliyun | 阿里云短信 | xin-lai/Magicodes.Sms | |
Magicodes.Sms.Core | 短信核心库 | xin-lai/Magicodes.Sms | |
Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 | xin-lai/Magicodes.Sms | |
Magicodes.Storage.Core | 通用存储核心库 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.AliyunOss.Core | 阿里云OSS存储 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.Local.Core | 本地存储 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.Tencent.Core | 腾讯云存储 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.Abp.Core | 通用存储ABP模块集成 | xin-lai/Magicodes.Storage | |
Magicodes.WeChat.SDK.Core | 微信SDK | xin-lai/Magicodes.WeChat.SDK | |
Magicodes.SwaggerUI | SwaggerUI API快速配置和分组 | xin-lai/Magicodes.SwaggerUI | |
Magicodes.Pay.Alipay | 支付宝支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Notify | 支付通用回调库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Wxpay | 微信支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Alipay.Global | 国际支付宝支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Allinpay | 通联支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Abp | ABP 支付通用封装库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Abp.Allinpay | ABP 通联支付模块 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Abp.Wxpay | ABP 微信支付模块 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Alipay.Global | ABP 国际支付宝模块 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Alipay | ABP 支付宝模块 | xin-lai/Magicodes.Pay | |
Magicodes.Abp.Castle.NLog | ABP Nlog支持模块 | xin-lai/Abp.Castle.NLog | |
Magicodes.WxMiniProgram.Sdk | 微信小程序SDK | xin-lai/Magicodes.WxMiniProgram.Sdk | |
Magicodes.WxMiniProgram.Sdk.Abp | 微信小程序SDK Abp模块 | xin-lai/Magicodes.WxMiniProgram.Sdk | |
Magicodes.Dingtalk.SDK | 钉钉SDK | xin-lai/Magicodes.Dingtalk.SDK | |
Magicodes.DynamicSqlApi.Core | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.All | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.CsScript | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.Dapper | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.SqlServer | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi |
其他教程见下文或单元测试
更新历史见下文。
/// <summary>
/// 性别
/// </summary>
[ImporterHeader(Name = "性别")]
[Required(ErrorMessage = "性别不能为空")]
[ValueMapping(text: "男", 0)]
[ValueMapping(text: "女", 1)]
public Genders Gender { get; set; }
枚举默认情况下会自动获取枚举的描述、显示名、名称和值生成数据项
/// <summary>
/// 学生状态 正常、流失、休学、勤工俭学、顶岗实习、毕业、参军
/// </summary>
public enum StudentStatus
{
/// <summary>
/// 正常
/// </summary>
[Display(Name = "正常")]
Normal = 0,
/// <summary>
/// 流失
/// </summary>
[Description("流水")]
PupilsAway = 1,
/// <summary>
/// 休学
/// </summary>
[Display(Name = "休学")]
Suspension = 2,
/// <summary>
/// 勤工俭学
/// </summary>
[Display(Name = "勤工俭学")]
WorkStudy = 3,
/// <summary>
/// 顶岗实习
/// </summary>
[Display(Name = "顶岗实习")]
PostPractice = 4,
/// <summary>
/// 毕业
/// </summary>
[Display(Name = "毕业")]
Graduation = 5,
/// <summary>
/// 参军
/// </summary>
[Display(Name = "参军")]
JoinTheArmy = 6,
}
渲染语法如下所示:
{{Company}} //单元格渲染
{{Table>>BookInfos|RowNo}} //表格渲染开始语法
{{Remark|>>Table}}//表格渲染结束语法
{{Image::ImageUrl?Width=50&Height=120&Alt=404}} //图片渲染
{{Image::ImageUrl?w=50&h=120&Alt=404}} //图片渲染
{{Image::ImageUrl?Alt=404}} //图片渲染
后续将支持自定义管道。
https://github.com/dotnetcore/Magicodes.IE/issues?q=label%3Aquestion