private static void ThreatsFromExelToList(string link)
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (ExcelPackage xlPackage = new ExcelPackage(new FileInfo(link)))
            {
                var myWorksheet  = xlPackage.Workbook.Worksheets.First(); //select sheet here
                var totalRows    = myWorksheet.Dimension.End.Row;
                var totalColumns = myWorksheet.Dimension.End.Column;
                var sb           = new StringBuilder();             //this is your data
                for (int rowNum = 1; rowNum <= totalRows; rowNum++) //select starting row here
                {
                    var row = myWorksheet.Cells[rowNum, 1, rowNum, totalColumns].Select(c => c.Value == null ? string.Empty : c.Value.ToString());
                    sb.AppendLine(string.Join("NEXTCELL", row));
                    sb.AppendLine("ENDROW"); //end of a row
                }
                string[] threatStringsByRows = sb.ToString().Split(new string[] { "ENDROW" }, StringSplitOptions.RemoveEmptyEntries);
                for (int i = 2; i < threatStringsByRows.Length; i++)
                {
                    var threatString = threatStringsByRows[i].Replace("\n", "").Replace("\r", "").Split(new string[] { "NEXTCELL" }, StringSplitOptions.None);

                    if (threatString.Length == 10)
                    {
                        ISThreat tempoThreat = new ISThreat(Int32.Parse(threatString[0]));
                        tempoThreat.ThreatName               = threatString[1].ToString();
                        tempoThreat.ThreatInfo               = threatString[2].ToString();
                        tempoThreat.ThreatSource             = threatString[3].ToString();
                        tempoThreat.ThreaObj                 = threatString[4].ToString();
                        tempoThreat.ConfidentialityViolation = Convert.ToBoolean(Int32.Parse(threatString[5]));
                        tempoThreat.IntegrityViolation       = Convert.ToBoolean(Int32.Parse(threatString[6]));
                        tempoThreat.AvailabilityViolation    = Convert.ToBoolean(Int32.Parse(threatString[7]));
                        parsedThreatList.Add(tempoThreat);
                    }
                }
            }
        }
 public ThreatInfo(ISThreat threat)
 {
     InitializeComponent();
     ThreatID.Text     = threat.ThreatId.ToString();
     ThreatCnf.Text    = (threat.ConfidentialityViolation ? "Да" : "Нет");
     ThreatAvb.Text    = (threat.AvailabilityViolation ? "Да" : "Нет");
     ThreatIng.Text    = (threat.IntegrityViolation ? "Да" : "Нет");
     ThreatObj.Text    = threat.ThreaObj.ToString();
     ThreatInf.Text    = threat.ThreatInfo.ToString();
     ThreatName.Text   = threat.ThreatName.ToString();
     ThreatSource.Text = threat.ThreatSource.ToString();
 }