Поиск и вывод данных из list C#

286
08 марта 2018, 08:44

Имеется таблица xlsx с тремя столбцами, из нее через программу необходимо найти значения "ВНИМАНИЕ" из первого столбца и вывести список с прилегающими значениями из второго столбца

Оригинал таблицы:

Все ОК    Алексеев Алексей      15.01.2018
ВНИМАНИЕ  Иванов Иван           25.11.2017
Все ОК    Александров Александр 19.02.2018
ВНИМАНИЕ  Михайлов Михаил       23.07.2017
ВНИМАНИЕ  Петров Петр           22.08.2017

Результат:

Иванов Иван           
Михайлов Михаил       
Петров Петр           

Как это сделать через list?

То что имеется на данный момент:

namespace WindowsFormsApp4
{
    public partial class Form1 : Form
    {   
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.openFileDialog1.Filter = "Excel Files(.xlsx)|*.xlsx";
            this.openFileDialog1.Title = "Select an excel file";
            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                this.txtPath.Text = openFileDialog1.FileName;
                FileStream stream = File.Open(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
                IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                var people = new List<Person>();
                while (excelReader.Read())
                {
                    people.Add(new Person
                    {
                        FirstName = excelReader.GetString(0),
                        LastName = excelReader.GetString(1)
                    });
                }
                this.resultGrid.DataSource = people;
            }
        }
    }
    public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }

}

Все отлично выводится "как есть" в таблице:

Я попытался реализовать хотя бы просто поиск

var value = people.FindAll (x => x.name == "ВНИМАНИЕ").value

В итоге как и ожидал - наткнулся на ошибку (Error CS1061 'Person' does not contain a definition for 'name' and no extension method 'name' accepting a first argument of type 'Person' could be found (are you missing a using directive or an assembly reference?) WindowsFormsApp4), и, я так понял, начал не тем путем искать индекс строки.

Как лучше это организовать?

READ ALSO
Авторизация на C# при помощи базы данных mongoDB

Авторизация на C# при помощи базы данных mongoDB

Добрый вечерПомогите разобраться! Есть проект MVC где база данных на mongoDB

319
Исключение CaptchaNeedException не обрабатывается (авторизация ВК, C#, библиотека VkNet)

Исключение CaptchaNeedException не обрабатывается (авторизация ВК, C#, библиотека VkNet)

Делаю авторизацию ВК библиотекой VkNetПо идее при необходимости ввести капчу выбрасывается VkNet

291
В каких случаях имеют смысл var-шаблоны?

В каких случаях имеют смысл var-шаблоны?

В C# 70 появились var-шаблоны которые судя по документации всегда trueи нужны для создания новой переменной с таким же типом и значением

255
Сортировка TreeMap StringComparer.Ordinal

Сортировка TreeMap StringComparer.Ordinal

Сортировка TreeMap по ключу в Java, также как в C# я сортировал массив:

278