Поиск в ексель таблице - переменной

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
Здравствуйте, начал зеной заниматься недавно и поэтому сложно разобраться.

У меня есть таблица в первой колонке указана дата, а в последующих нужные мне значения.
на c# я беру текущую дату и ложу в переменную, далее на втором коде c# я хочу найти все нужные мне строки и взять другие переменные которые относятся к текущей дате.

Вот сам код

// берем из переменной текст, который надо искать
var textContains = project.Variables["tek_date"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["TABL2"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
for(int i=0; i < sourceTable.RowCount; i++)
{
// читаем строку из таблицы (это будет массив ячеек)
var cells = sourceTable.GetRow(i).ToArray();
// проверяем содержание текста в ячейке
if (cells[1].Contains(textContains))
{ return cells[0].ToString();
}
}
}
// если ничего не нашли возвращаем "no"
return "no";

Но не работает, в логе пишет -
Выполнение действия CSharp OwnCode Последовательность не содержит соответствующий элемент

таблица есть, в переменной значение уже лежит, в таблице точно есть эта переменная.
Помогите пожалуйста, что необходимо исправить?
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Трудно сказать, глядя на код. Лучше выложи проект, где это можно погонять и посмотреть в целом, соответствует оно друг другу или нет. Ну и в код можешь попробовать добавить вывод промежуточных значений, чтобы проверить, цепляются ли у тебя вообще, переменные, таблица, выводятся ли у тебя строки, какие значения ячеек в переменную попадают и т.п.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 375
Благодарностей
2 040
Баллы
113
как то не понятно немного тут
2016-04-11_031251.png
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Здравствуйте, начал зеной заниматься недавно и поэтому сложно разобраться.

У меня есть таблица в первой колонке указана дата, а в последующих нужные мне значения.
на c# я беру текущую дату и ложу в переменную, далее на втором коде c# я хочу найти все нужные мне строки и взять другие переменные которые относятся к текущей дате.

Вот сам код

// берем из переменной текст, который надо искать
var textContains = project.Variables["tek_date"].Value;
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["TABL2"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
for(int i=0; i < sourceTable.RowCount; i++)
{
// читаем строку из таблицы (это будет массив ячеек)
var cells = sourceTable.GetRow(i).ToArray();
// проверяем содержание текста в ячейке
if (cells[1].Contains(textContains))
{ return cells[0].ToString();
}
}
}
// если ничего не нашли возвращаем "no"
return "no";

Но не работает, в логе пишет -
Выполнение действия CSharp OwnCode Последовательность не содержит соответствующий элемент

таблица есть, в переменной значение уже лежит, в таблице точно есть эта переменная.
Помогите пожалуйста, что необходимо исправить?

В коде всё правильно. Проверьте еще раз внимательно, чтобы названия таблицы в коде и в программе совпадали, так же название переменной.
Вероятнее, что проблема именно в этом.
 

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
вообщем так и не разобрался, сделал по другом взял фиксированное кол-во строк и за счёт счётчика иду по срокам и смотрю нужную.
долгая реализация но пока что рабочая
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)