public void fillExcelTableByType(IEnumerable <object> grid, string status, FileInfo xlsxFile)
        {
            try
            {
                if (grid != null)
                {
                    ExcelPackage pck   = new ExcelPackage(xlsxFile);
                    var          excel = pck.Workbook.Worksheets.Add(status);
                    int          x     = 1;
                    int          y     = 1;

                    CultureInfo cultureInfo = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name);
                    Thread.CurrentThread.CurrentCulture             = cultureInfo;
                    cultureInfo.NumberFormat.NumberDecimalSeparator = ".";
                    excel.Cells["A1:Z1"].Style.Font.Bold            = true;
                    excel.Cells.Style.HorizontalAlignment           = ExcelHorizontalAlignment.Left;
                    excel.Cells.Style.Numberformat.Format           = "General";

                    Object dtObj = new Object();

                    switch (status)
                    {
                    case "Managers": dtObj = new ManagersDto(); break;

                    case "Enterprises": dtObj = new EnterprisesDto(); break;

                    case "TypeReklama": dtObj = new TypeReklamaDto(); break;

                    case "Orders": dtObj = new OrdersDto(); break;

                    case "Carrier": dtObj = new CarrierDto(); break;

                    case "Wage": dtObj = new WageDto(); break;
                    }
                    foreach (var prop in dtObj.GetType().GetProperties())
                    {
                        excel.Cells[y, x].Value = prop.Name.Trim();
                        x++;
                    }
                    foreach (var item in grid)
                    {
                        y++;
                        Object itemObj = item;
                        x = 1;
                        foreach (var prop in itemObj.GetType().GetProperties())
                        {
                            object t = prop.GetValue(itemObj, null);
                            object val;

                            if (t == null)
                            {
                                val = "";
                            }
                            else
                            {
                                val = t.ToString();
                                if (t is ManagersDto)
                                {
                                    val = ((ManagersDto)t).FullName;
                                }

                                if (t is EnterprisesDto)
                                {
                                    val = ((EnterprisesDto)t).NameEnterprise;
                                }

                                if (t is CarrierDto)
                                {
                                    val = ((CarrierDto)t).NameCarrier;
                                }

                                if (t is TypeReklamaDto)
                                {
                                    val = ((TypeReklamaDto)t).NameReklama;
                                }
                            }
                            excel.Cells[y, x].Value = val;
                            x++;
                        }
                    }
                    excel.Cells.AutoFitColumns();
                    pck.Save();
                }
                else
                {
                    MessageBox.Show("Данные не загружены!");
                }
            }
            catch (Exception exc)
            {
                // MessageBox.Show(exc.Message, "Ошибка");
            }
        }