Удалить из Excel файла строки, не содержащие подстроку

310
21 апреля 2017, 17:56
using System;
using ClosedXML.Excel;
namespace ExelEditor
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string path = @"C:\root\3.xlsx";
                var workbook = new XLWorkbook(path);
                var worksheet = workbook.Worksheets.Worksheet(1);
                foreach (var row in worksheet.Rows())
                {
                    string targetCell = row.Cell(5).GetString();
                    if (targetCell.Contains("Заречная") == false && targetCell.Contains("Адрес регистрации") == false)
                    {
                        //Console.WriteLine(targetCell);
                        //Console.ReadKey();
                        row.Delete();
                    }
                }
                workbook.Save();
                Console.WriteLine("Успешно!");
                Console.ReadKey();
            }
            catch (Exception e)
            {
                Console.WriteLine(@"Ошибка! Введен неверный путь до exel-файла.");
                Console.WriteLine(@"Ошибка: " + e.Message);
                Console.ReadKey();
            }
        }
    }
}

Второй вариант

using System;
using ClosedXML.Excel;
using System.Linq;
namespace ExelEditor
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string path = @"C:\root\3.xlsx";
                var workbook = new XLWorkbook(path);
                var worksheet = workbook.Worksheets.Worksheet(1);
                var ws = workbook.Worksheets.Add("Новый лист");
                for (int i = worksheet.RowsUsed().Count() - 1; i >= 0; i--)
                {
                    var row = worksheet.Row(i);
                    string targetCell = row.Cell(5).GetString();
                    if (targetCell.Contains("Заречная") == false && targetCell.Contains("Адрес регистрации") == false)
                    {
                        Console.WriteLine(targetCell);
                        Console.ReadKey();
                        row.Delete();
                    }
                }
                workbook.Save();
                Console.WriteLine("Успешно!");
                Console.ReadKey();
            }
            catch (Exception e)
            {
                Console.WriteLine(@"Ошибка! Введен неверный путь до exel-файла.");
                Console.WriteLine(@"Ошибка: " + e.Message);
                Console.ReadKey();
            }
        }
    }
}

Выдаёт ошибку out of memory

READ ALSO
Android Studio или Xamarin?

Android Studio или Xamarin?

Около года работаю в Android Studio, а совсем недавно узнал что есть такая программа - XamarinВ данной программе можно писать одновременно для Android,...

305
Навсегда скрыть panel при нажатии на button

Навсегда скрыть panel при нажатии на button

При запуске программы появляется panel1Нужно чтобы если пользователь нажмет на button1, панель не появится до следующих запусков программы

223
Подсчет ширины контрола, по длине строки

Подсчет ширины контрола, по длине строки

Собственно есть старый и мохнатый уже легаси код, контролы реализованы на WinForms, а времени и денег на переписывание на WPF нетуЕго используем...

194