说明 本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出。 要点
主要步骤 1.安装包Magicodes.IE.Excel 在本篇教程中,我们仅演示使用Excel来完成学生数据的导入。我们需要在已准备好的工程中安装以下包,参考命令如下所示: Install-Package Magicodes.IE.Excel 2.准备模板 Magicodes.IE.Excel模板导出支持单元格渲染和表格渲染:
注意:
表格渲染的格式如上所述:
根据以上语法,我们可以编写模板如下所示: 3.创建导出Dto 主要代码如下所示:
/// <summary> /// 教材订购信息 /// </summary> public class TextbookOrderInfo { /// <summary> /// 公司名称 /// </summary> public string Company { get; } /// <summary> /// 地址 /// </summary> public string Address { get; } /// <summary> /// 联系人 /// </summary> public string Contact { get; } /// <summary> /// 电话 /// </summary> public string Tel { get; } /// <summary> /// 制表人 /// </summary> public string Watchmaker { get; } /// <summary> /// 时间 /// </summary> public string Time { get; } /// <summary> /// 教材信息列表 /// </summary> public List<BookInfo> BookInfos { get; } public TextbookOrderInfo(string company, string address, string contact, string tel, string watchmaker, string time, List<BookInfo> bookInfo) { Company = company; Address = address; Contact = contact; Tel = tel; Watchmaker = watchmaker; Time = time; BookInfos = bookInfo; } } 如上述代码所示,定义的结构基本上和模板一致。其中属性BookInfos对应列表,具体定义如下所示。
4.导出 接下来直接调用Magicodes.IE.Excel封装的模板导出方法,该方法实现自接口 IExportFileByTemplate: /// <summary> /// 根据模板导出文件 /// </summary> public interface IExportFileByTemplate { /// <summary> /// 根据模板导出 /// </summary> /// <typeparam name='T'></typeparam> /// <param name='fileName'></param> /// <param name='data'></param> /// <param name='template'>HTML模板或模板路径</param> /// <returns></returns> Task<ExportFileInfo> ExportByTemplate<T>(string fileName, T data, string template) where T : class; } 通过以上方法中的ExportByTemplate,我们就可以完成Excel模板导出。具体使用可以参考以下单元测试:
结果如下图所示: 最后 整个Excel模板导出教程就此结束了,由于仓促完成,还有许多地方可以改善并优化。 相关库会一直更新,在功能体验上有可能会和本文教程有细微的出入,请以相关具体代码、版本日志、单元测试示例为准。 |
|