【LSP】Magicodes.IE之花式导出
总体设计 http://cdn.u1.huluxia.com/g4/M01/5E/81/rBAAdl9xRleAfTqPAAIh8Sz0kHI176.png
Magicodes.IE是一个导入导出通用库,支持Dto导入导出以及动态导出,支持Excel、Word、Pdf、Csv和Html。在本篇教程,笔者将讲述如何使用Magicodes.IE进行花式导出。
在本篇教程,笔者主要讲述如何使用IE进行花式导出并满足客户爸爸的需求。http://cdn.u1.huluxia.com/g4/M01/5E/81/rBAAdl9xRliAVfXBAAGRiUPEH8E233.png
同一个数据源拆分Sheet导出
通常情况下,客户爸爸的需求是比较正常的,比如在数据量大时,希望将数据进行拆分导出。
这时候我们就需要使用IE按部就班开发了,先创建Dto:
public class ExportTestDataWithSplitSheet
{
public string Text { get; set; }
public string Text2 { get; set; }
public string Text3 { get; set; }
public decimal Number { get; set; }
public string Name { get; set; }
/// <summary>
/// 时间测试
/// </summary>
public DateTime Time1 { get; set; }
/// <summary>
/// 时间测试
/// </summary>
public DateTime? Time2 { get; set; }
public DateTime Time3 { get; set; }
public DateTime Time4 { get; set; }
}
如上述Dto定义所示,我们通过MaxRowNumberOnASheet属性指定了每个Sheet最大的行数,接下来仅需使用普通导出即可自动拆分Sheet导出:
var result = await exporter.Export(filePath,
GenFu.GenFu.ListOf<ExportTestDataWithSplitSheet>(300));
是不是非常简单?作为一个正直和诚实的人,这时候我们可以评估为2天的工作量。
多个数据源多Sheet导出
过了一段时间,客户爸爸厌倦了各种表格,他有一个残暴的想法——乙方渣渣,能不能把这个表格做成一个表格导出!为了不被甲方爸爸按在地上摩擦,我们先跪下来。在各种讨价还价之后,我们Get到了5天的工作量。
对于导出多个数据,IE也做了充分的考虑:
Dto1:http://cdn.u1.huluxia.com/g4/M01/5E/81/rBAAdl9xRlmADI-8AANG2jcO0oE864.jpg
最后
通过本篇教程,我想大家明白了一个道理:人生如戏,全靠演技。当你有IE作为后盾时,在甲方爸爸面前,你就可以尽情的跪拜了!
不过我们还是来做一个总结,在本教程中,只要你掌握了以下API,你就可以赢取白富美,走上人生巅峰了:
API 说明
Append 追加数据源,支持传递Sheet名称
AppendHeaders 追加表头
SeparateByColumn 通过追加Column分割导出
SeparateBySheet 通过Sheet分割导出
SeparateByRow 通过追加行来分割导出
ExportAppendData 导出追加数据 顶 …… 占坑编辑ing 在撸一遍。。。 小白一个 顶一下
页:
[1]