Epplus:如何使“LoadFromCollection”在模型中使用属性

我有一个ActionResult(在MVC 5网站),成功地使用Epplus将数据集导出到Excel文档。

在ActionResult代码块中,我使用这样的代码将该列格式化为短date。 无需此代码,date列显示为int值。

// format date columns as date worksheet.Column(6).Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern; 

但是,在模型中,我已经把它定义为一个属性。 它在View页面上效果很好,但不会将列的格式设置为短date – 因此,上面显示的代码。

 [Column(TypeName = "date")] [DisplayName("Exit Date")] **[DisplayFormat(DataFormatString = "{0:d}")]** public DateTime ExitDate { get; set; } 

为了提供进一步的上下文,我从一个集合加载我的工作表。

 worksheet.Cells["A5"].LoadFromCollection(Collection: exportQuery, PrintHeaders: true); 

有没有一种方法可以扩展LoadFromCollection,以便工作表不仅可以加载Collection内容,还可以加载模型中存在的格式属性。 “DisplayName”属性被收集,所以有没有办法来收集“DisplayFormat”属性,而不必编写单独的代码?

EPPlus不幸的是没有实现对DisplayFormat支持。

这个库是开源的,所以你可以在Codeplex上findLoadFromCollection的完整实现及其重载

回答你的问题:恐怕你将不得不为此编写单独的代码。