微信小程序怎么删除,seo站内优化教程,营销型网站的建设流程,app推广软件说明本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出。要点本教程使用Magicodes.IE.Excel来完成Excel模板导出需要通过创建Dto来完成导出需要按要求准备Excel模板主要步骤1.安装包Magicodes.IE.Excel在本篇教程中#xff0c;我们仅演示使用Excel来完成… 说明本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出。要点本教程使用Magicodes.IE.Excel来完成Excel模板导出需要通过创建Dto来完成导出需要按要求准备Excel模板主要步骤1.安装包Magicodes.IE.Excel在本篇教程中我们仅演示使用Excel来完成学生数据的导入。我们需要在已准备好的工程中安装以下包参考命令如下所示Install-Package Magicodes.IE.Excel
2.准备模板Magicodes.IE.Excel模板导出支持单元格渲染和表格渲染单元格渲染语法{{Company}} 教学单位名称2020年春季教材订购明细
注意双大括号是必须的暂不支持表达式等支持子对象属性大小写敏感表格渲染表格渲染的格式如上所述渲染语法以“TableBookInfos|”为开始其中“BookInfos”为列表属性“RowNo”、“No”等均为列表字段必须以“|Table”结尾暂不支持一行多个Table即将支持具体请查看日志根据以上语法我们可以编写模板如下所示3.创建导出Dto主要代码如下所示教材订购信息Dto/// summary/// 教材订购信息/// /summarypublic class TextbookOrderInfo{/// summary/// 公司名称/// /summarypublic string Company { get; }/// summary/// 地址/// /summarypublic string Address { get; }/// summary/// 联系人/// /summarypublic string Contact { get; }/// summary/// 电话/// /summarypublic string Tel { get; }/// summary/// 制表人/// /summarypublic string Watchmaker { get; }/// summary/// 时间/// /summarypublic string Time { get; }/// summary/// 教材信息列表/// /summarypublic ListBookInfo BookInfos { get; }public TextbookOrderInfo(string company, string address, string contact, string tel, string watchmaker, string time, ListBookInfo bookInfo){Company company;Address address;Contact contact;Tel tel;Watchmaker watchmaker;Time time;BookInfos bookInfo;}}
如上述代码所示定义的结构基本上和模板一致。其中属性BookInfos对应列表具体定义如下所示。教材信息Dto /// summary/// 教材信息/// /summarypublic class BookInfo{/// summary/// 行号/// /summarypublic int RowNo { get; }/// summary/// 书号/// /summarypublic string No { get; }/// summary/// 书名/// /summarypublic string Name { get; }/// summary/// 主编/// /summarypublic string EditorInChief { get; }/// summary/// 出版社/// /summarypublic string PublishingHouse { get; }/// summary/// 定价/// /summarypublic string Price { get; }/// summary/// 采购数量/// /summarypublic int PurchaseQuantity { get; }/// summary/// 备注/// /summarypublic string Remark { get; }public BookInfo(int rowNo, string no, string name, string editorInChief, string publishingHouse, string price, int purchaseQuantity, string remark){RowNo rowNo;No no;Name name;EditorInChief editorInChief;PublishingHouse publishingHouse;Price price;PurchaseQuantity purchaseQuantity;Remark remark;}}
4.导出接下来直接调用Magicodes.IE.Excel封装的模板导出方法该方法实现自接口IExportFileByTemplate/// summary/// 根据模板导出文件/// /summarypublic interface IExportFileByTemplate{/// summary/// 根据模板导出/// /summary/// typeparam nameT/typeparam/// param namefileName/param/// param namedata/param/// param nametemplateHTML模板或模板路径/param/// returns/returnsTaskExportFileInfo ExportByTemplateT(string fileName, T data,string template) where T : class;}
通过以上方法中的ExportByTemplate我们就可以完成Excel模板导出。具体使用可以参考以下单元测试[Fact(DisplayName Excel模板导出教材订购明细样表)]
public async Task ExportByTemplate_Test()
{//模板路径var tplPath Path.Combine(Directory.GetCurrentDirectory(), TestFiles, ExportTemplates,2020年春季教材订购明细样表.xlsx);//创建Excel导出对象IExportFileByTemplate exporter new ExcelExporter();//导出路径var filePath Path.Combine(Directory.GetCurrentDirectory(), nameof(ExportByTemplate_Test) .xlsx);if (File.Exists(filePath)) File.Delete(filePath);//根据模板导出await exporter.ExportByTemplate(filePath,new TextbookOrderInfo(湖南心莱信息科技有限公司, 湖南长沙岳麓区, 雪雁, 1367197xxxx, 雪雁, DateTime.Now.ToLongDateString(),new ListBookInfo(){new BookInfo(1, 0000000001, 《XX从入门到放弃》, 张三, 机械工业出版社, 3.14, 100, 备注),new BookInfo(2, 0000000002, 《XX从入门到放弃》, 张三, 机械工业出版社, 3.14, 100, 备注),new BookInfo(3, 0000000003, 《XX从入门到放弃》, 张三, 机械工业出版社, 3.14, 100, 备注)}),tplPath);
}
结果如下图所示最后整个Excel模板导出教程就此结束了由于仓促完成还有许多地方可以改善并优化。相关库会一直更新在功能体验上有可能会和本文教程有细微的出入请以相关具体代码、版本日志、单元测试示例为准。