2014-11-03 3 views
0

У меня есть список, содержащий логические значения. Я хочу экспортировать этот список в excel, но он должен быть значимым для клиента. Когда я экспортирую его как есть, он показывает такие значения, как True и False, как и ожидалось, но эти значения, возможно, не имеют никакого смысла в восприятии клиента. Это, как я сделать экспорт в Excel:Изменение данных перед экспортом 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», что означает «Да» на турецком языке, но это отображается как «True» в настоящее время. Как я могу изменить значения, прежде чем они будут написаны, чтобы преуспеть?

ответ

1

Используйте тройной оператор, чтобы быть более значимым с вашими данными, например:

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

Объясните: если IsAnswers вычисляет true, использовать «Да», в противном случае, используйте «Нет».

Отметьте, что PaneldenVerilmisCevapMi должно быть string.

UPDATE:

если item.IsAnswer является обнуляемым типа, измените ваш, если заявление:

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

Нет необходимости в этих скобках. –

+0

@PaulZahra Правильно, это просто читаемо. –

+0

IsAnswer имеет значение NULL, и это приводит к ошибке, как я могу проверить значение nullables, если они истинны/ложны? –

1

Вы могли бы просто написать это:

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

Ты один подготовке модель до запись в Excel. Таким образом, вы можете просто изменить свойства в соответствии с вашими потребностями.

Примеры как

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

будет работать для вас, но вы можете сделать что-нибудь с этими объектами. Например, передавая его методу, который изменяет такие вещи, как True, на Evet или что-нибудь еще, что будет выглядеть для конечного пользователя.

MakeDataReadable(model.ContentExcelList); 
Смежные вопросы