若是开发后台系统,ASP.NET MVC中总是涉及了很多导入导出Excel的问题,有的时候处理起来比较烦
如果能使用以下代码解决,就完美了
public class ReportModel { [Excel("标题",Order=1)] public string Title { get; set; } [Excel("用户",Order=2)] public string Name { get; set; } }
var models = new List<ReportModel> { new ReportModel{Name="a",Title="b"}, new ReportModel{Name="c",Title="d"}, new ReportModel{Name="f",Title="e"} };
由Object转为Excel
var exporter = new ExcelExporter(); var bytes = exporter.ObjectToExcelBytes(models); File.WriteAllBytes("C:\\demo.xls", bytes);
由Excel转为Object
var importer = new ExcelImporter(); IEnumerable<ReportModel> result = importer.ExcelToObject<ReportModel>("c:\\demo.xls");
嗯,的确是哦
这就有个开源项目Excel2Object https://github.com/chsword/Excel2Object
特别 是与ASP.NET MVC结合使用时,由于ASP.NET MVC中Model上会使用DisplayAttribute所以Excel2Object除了支持ExcelAttribute外,也支持DisplayAttribute。
在.NET 项目中使用 使用NuGet安装即可,命令行安装
Install-Package Chsword.Excel2Object
或搜索包
Chsword.Excel2Object