在导出excel之前更改数据

我有一个包含布尔值的列表。 我想将该列表导出为ex​​cel,但对于客户来说这一定是有意义的。 当我按原样输出它时,它会按预期显示TrueFalse等值,但这些值可能对客户的感觉没有任何意义。 这是我做excel导出的方式:

 LiveModReports model = new LiveModReports(); List<ModerationDM.DetailedContent> liveModListDM = new List<ModerationDM.DetailedContent>(); liveModListDM = contentBLL.GetContentsForMod(modId, startDate, endDate); if (liveModListDM != null) { model.ContentExcelList = new List<ContentExcel>(); foreach (var item in liveModListDM) { model.ContentExcelList.Add(new ContentExcel() { ModerasyonNumarasi = item.ModId, Kategori = item.Category, AltKategori = item.SubCategory, IcerikAdresi = item.ContentURL, IcerikSahibiTamAdi = item.ContentUFullName, IcerikSahibiEPosta = item.ContentUserEmail, IcerikMetni = item.ContentText, Durumu = item.ResultCode, SonDegistirilmeTarihi = (DateTime)item.ModifiedTime, ModerasyonKategorisi = item.ModCategoryName, IcerikNumarasi = item.ContentSeqNum, BegeniPuani = item.LikeCount, BegenilmemePuani = item.DislikeCount, PaneldenVerilmisCevapMi = item.IsAnswer, CevaplanmisMi = item.IsAnswered, RaporlamaBasligi = item.ReportHeader }); } } CreateExcelFile.CreateExcelDocument(model.ContentExcelList, "IcerikListesi.xlsx", System.Web.HttpContext.Current.Response); 

例如,IsAnswer必须显示为“Evet”,意思是土耳其语中的“Yes”,但现在显示为“True”。 如何在写入excel之前更改这些值?

使用三元运算符来更有意义的数据,例如:

 PaneldenVerilmisCevapMi = (item.IsAnswer ? "Yes" : "No"), ... 

说明:如果IsAnswers计算结果为true ,则使用“是”,否则使用“否”。

请注意, PaneldenVerilmisCevapMi必须是一个string

更新:

如果item.IsAnswer是一个可为空的types,则将您的if语句更改为:

 PaneldenVerilmisCevapMi = (item.IsAnswer.HasValue ? "Yes" : "No"), 

写入Excel 之前,您是准备模型的人。 因此,您可以简单地更改属性以适应您的需求。

例如

 PaneldenVerilmisCevapMi = (item.IsAnswer) ? "Evet" : "No" 

会为你工作,但你可以做任何事情与这些对象。 比如把它传递给一个方法,改变诸如True to Evet东西,或者其他任何对于最终用户来说都是如此的东西。

 MakeDataReadable(model.ContentExcelList); 

你可以简单地写这个:

 PaneldenVerilmisCevapMi = (item.IsAnswer) ? "Evet" : "No"