若是開發後臺系統,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