C # MVC Excel файл не может открыть - PullRequest
0 голосов
/ 27 апреля 2018

Я использую EPPLUS с ASP.Net MVC и DataTable. Когда я создаю и загружаю файл Excel, когда я пытаюсь открыть, я вижу эту ошибку в Excel:

Ваш антивирусный сканер не может открыть файл, потому что он обнаружил проблему с файлом

Но когда я останавливаю Windows Deffender, он работает нормально. Должен ли я добавить код в моем контроллере? Или что-то?

public ActionResult ExportToExcel(int ID)
{
    DESTEK_FORMUEntities db = new DESTEK_FORMUEntities();

    var formTablo = db.FORM_KAYIT.FirstOrDefault(o => o.ticket_id == ID && o.aktiflik == "1");

    var cozumTablo = db.COZUM_ADIMLARI.FirstOrDefault(o => o.ticket_id == ID);

    var siteMap = System.Web.HttpContext.Current.Server.MapPath("/") + @"Reports\";

    string excelPath = siteMap + "destek.xlsx";

    string reportName = siteMap + DateTime.Now.ToString("dd-MM-yyyy-HH-mm-ss") + ".xlsx";
    using (ExcelPackage pck = new ExcelPackage(new FileInfo(excelPath)))
    {
        var kullaniciID = Session["KULLANICI_ID"];               

        ExcelWorksheet ws = pck.Workbook.Worksheets["Sayfa1"];        

        ws.Cells["B1"].Value = formTablo.bolge_no;
        ws.Cells["B2"].Value = formTablo.arayan_ad_soyad;
        ws.Cells["B3"].Value = Convert.ToInt32(kullaniciID);
        ws.Cells["B4"].Value = formTablo.gelis_adresi;

        ws.Cells["G1"].Value = formTablo.ticket_id;
        ws.Cells["G2"].Value = formTablo.ticket_gelis_saat.ToString().ToStringNull();
        ws.Cells["G3"].Value = formTablo.kapatilma_zamani.ToString().ToStringNull();

        if(formTablo.amaci_destek == true)
        {
            ws.Cells["B7"].Value = "✔";
        }

        if (formTablo.amaci_bilgi_almak == true)
        {
            ws.Cells["C7"].Value = "✔";
        }

        if (formTablo.amaci_bilgi_vermek == true)
        {
            ws.Cells["D7"].Value = "✔";
        }

        if (formTablo.amaci_istek == true)
        {
            ws.Cells["E7"].Value = "✔";
        }

        if (formTablo.amaci_hata == true)
        {
            ws.Cells["F7"].Value = "✔";
        }

        if (formTablo.amaci_oneri == true)
        {
            ws.Cells["G7"].Value = "✔";
        }

        if (formTablo.amaci_diger == true)
        {
            ws.Cells["H7"].Value = "✔";
        }

        ws.Cells["B10"].Value = formTablo.ticket_not;

        if (formTablo.cevap_yapilacak == true)
        {
            ws.Cells["B21"].Value = "✔";
        }

        if (formTablo.cevap_hemen == true)
        {
            ws.Cells["C21"].Value = "✔";
        }

        if (formTablo.cevap_arastirilacak == true)
        {
            ws.Cells["D21"].Value = "✔";
        }

        if (formTablo.cevap_islemde == true)
        {
            ws.Cells["E21"].Value = "✔";
        }

        if (formTablo.cevap_tamamlandi == true)
        {
            ws.Cells["F21"].Value = "✔";
        }

        if (formTablo.cevap_teknik == true)
        {
            ws.Cells["G21"].Value = "✔";
        }

        if (formTablo.cevap_diger == true)
        {
            ws.Cells["H21"].Value = "✔";
        }

        if (formTablo.yogunluk_bilgisi == "15 Dakika Sonra")
        {
            ws.Cells["B25"].Value = "✔";
        }

        if (formTablo.yogunluk_bilgisi == "30 Dakika Sonra")
        {
            ws.Cells["C25"].Value = "✔";
        }

        if (formTablo.yogunluk_bilgisi == "1 Saat Sonra")
        {
            ws.Cells["D25"].Value = "✔";
        }

        if (formTablo.yogunluk_bilgisi == "Gün İçerisinde")
        {
            ws.Cells["E25"].Value = "✔";
        }

        if (formTablo.yogunluk_bilgisi == "1 Gün Sonra")
        {
            ws.Cells["F25"].Value = "✔";
        }

        if (formTablo.durum == "Hemen Cevap")
        {
            ws.Cells["B29"].Value = "✔";
        }

        if (formTablo.durum == "Devam Ediyor")
        {
            ws.Cells["C29"].Value = "✔";
        }

        if (formTablo.durum == "Tamamlandı / Bilgilendirildi")
        {
            ws.Cells["D29"].Value = "✔";
        }

        ws.Cells["F29"].Value = formTablo.onem_durumu;

        if (cozumTablo.iletisime_gecildimi == "Evet")
        {
            ws.Cells["C32"].Value = "✔";
        }

        if (cozumTablo.iletisime_gecildimi == "Hayır")
        {
            ws.Cells["D32"].Value = "✔";
            ws.Cells["F31"].Value = cozumTablo.iletisim_olumsuz_nedeni;
        }

        ws.Cells["B34"].Value = cozumTablo.iletisime_gecilen;
        ws.Cells["B35"].Value = cozumTablo.iletisime_gecen;
        ws.Cells["B36"].Value = cozumTablo.iletisim_tarih.ToString().ToStringNull();
        ws.Cells["B37"].Value = cozumTablo.iletisim_adresi;

        if (cozumTablo.iletisim_bilgialmak == true)
        {
            ws.Cells["B40"].Value = "✔";
        }

        if (cozumTablo.iletisim_bilgivermek == true)
        {
            ws.Cells["C40"].Value = "✔";
        }

        if (cozumTablo.iletisim_kontrol == true)
        {
            ws.Cells["D40"].Value = "✔";
        }

        if (cozumTablo.iletisim_teyit == true)
        {
            ws.Cells["E40"].Value = "✔";
        }

        ws.Cells["B42"].Value = cozumTablo.iletisim_detay;

        if (cozumTablo.adimlar_program == true)
        {
            ws.Cells["A51"].Value = "✔";
        }

        if (cozumTablo.adimlar_veritabani == true)
        {
            ws.Cells["C51"].Value = "✔";
        }

        if (cozumTablo.adimlar_server == true)
        {
            ws.Cells["E51"].Value = "✔";
        }

        if (cozumTablo.adimlar_hatailetim == true)
        {
            ws.Cells["G51"].Value = "✔";
            ws.Cells["F54"].Value = cozumTablo.adimlar_hatailetilen;
        }

        ws.Cells["B56"].Value = cozumTablo.cozum_not;

        pck.SaveAs(new FileInfo(reportName));

        Response.Clear();

        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attachment:filename=" + reportName);
        Response.BinaryWrite(pck.GetAsByteArray());
        Response.End();
    }

    return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...