Как данные из ячейки добавить в массив?

likurg

Client
Регистрация
30.08.2015
Сообщения
75
Благодарностей
5
Баллы
8
Здравствуйте! Подскажите пожалуйста, как взять данные из ячейки таблицы, разбить по разделителю и добавить в массив? Я пробовал такие варианты, но данные не разбиваются по разделителю:
PHP:
//Привязываем таблицу проекта
IZennoTable tblData = project.Tables["data"];
//Счетчик строк в таблице
int intRowCounter = 0;

//Получаем в переменную не обработанные данные
string strTags = tblData.GetCell("10", intRowCounter);
//Разбиваем данные в массив через разделитель новой строки
string[] arrTags = strTags.Split(new[] {"\r\n"}, StringSplitOptions.None).ToArray();
//Разбиваем данные в список через разделитель новой строки
List<string> lstTags = strTags.Split(new[] {"\r\n"}, StringSplitOptions.None).ToList();

return arrTags[0];
P.S. - пробовал эти данные вставлять в переменную через входные настройки, тогда всё отработало как надо. Через таблицу не хочет работать.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
попробуй так

C#:
string[] strTags = tblData.GetRow(intRowCounter).ToArray();
return strTags[0];
 

likurg

Client
Регистрация
30.08.2015
Сообщения
75
Благодарностей
5
Баллы
8
попробуй так

C#:
string[] strTags = tblData.GetRow(intRowCounter).ToArray();
return strTags[0];
Спасибо, но это не совсем то что мне нужно. Необходимо брать из определенной ячейки данные такого формата, и разбивать построчно в массив или список:
Текст в ячейке
Текст в ячейке
Текст в ячейке
Текст в ячейке
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
так в ячейке что записано ?
примеры дай хотя бы
 

likurg

Client
Регистрация
30.08.2015
Сообщения
75
Благодарностей
5
Баллы
8
так в ячейке что записано ?
примеры дай хотя бы
В ячейке находятся ключевые слова в столбик, мне нужно взять их из ячейки и поместить в массив, каждое ключевое слово.
Вот пример того что будет находится в ячейке:
Код:
Ключевое слово1
Ключевое слово2
Ключевое слово3
Ключевое слово4
Ключевое слово5
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
твоя ошибка тут
  1. //Получаем в переменную не обработанные данные
  2. string strTags = tblData.GetCell("10", intRowCounter);
2019-07-19_011058.png


пробуй

C#:
//Привязываем таблицу проекта
IZennoTable tblData = project.Tables["data"];
//Счетчик строк в таблице
int intRowCounter = 0;
//Получаем в переменную не обработанные данные
string strTags = tblData.GetCell(0, intRowCounter);
//Разбиваем данные в массив через разделитель новой строки
string[] arrTags = strTags.Split(new[] {"\r\n"}, StringSplitOptions.None).ToArray();

for (int i = 0; i < arrTags.Length; i++)
{
    project.SendInfoToLog("", arrTags[i]);
}
 

likurg

Client
Регистрация
30.08.2015
Сообщения
75
Благодарностей
5
Баллы
8
Пробовал, но вот не помогает к сожалению. Напрямую с таблицы не хочет переменную разбивать на массив. Работает либо через входные настройки, либо через считывание из файла, пришлось сделать костыль.
Так отрабатывает этот код:
Код:
//Привязываем таблицу проекта
IZennoTable tblData = project.Tables["data"];
//Счетчик строк в таблице
int intRowCounter = 0;
//Получаем в переменную не обработанные данные
string strTags = tblData.GetCell(10, intRowCounter);
//Разбиваем данные в массив через разделитель новой строки
string[] arrTags = strTags.Split(new[] {"\r\n"}, StringSplitOptions.None).ToArray();
for (int i = 0; i < arrTags.Length; i++)
{
    project.SendInfoToLog(arrTags[i], true);
}
111.png

Так отрабатывает костыльный код):
Код:
//Привязываем таблицу проекта
IZennoTable tblData = project.Tables["data"];
//Счетчик строк в таблице
int intRowCounter = 0;

//Получаем не обработанные данные и записываем в файл
System.IO.File.WriteAllText(project.Directory+ @"\temp.txt", tblData.GetCell(10, intRowCounter));
//Наполняем массыв строками из файла
string[] arrTags = System.IO.File.ReadAllLines(project.Directory+ @"\temp.txt").ToArray();
//Удаляем временный файл
System.IO.File.Delete(project.Directory+ @"\temp.txt");

for (int i = 0; i < arrTags.Length; i++)
{
    project.SendInfoToLog(arrTags[i], true);
}
222.png
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
о каком костыле речь ведёшь, всё там отрабатывает как надо тебе если лишние жуки скрытые не появились ))

2019-07-19_015124.png
 
  • Спасибо
Реакции: likurg

likurg

Client
Регистрация
30.08.2015
Сообщения
75
Благодарностей
5
Баллы
8
если лишние жуки скрытые не появились ))
Голова уже кругом идет, но не могу свой код заставить работать правильно! Приложил свой тестовый проект. В любом случае, вам благодарен за участие! В таком виде, ваш код у меня тоже отработал нормально, но через привязанную excel таблицу не работает корректно.
 

Вложения

  • 17,9 КБ Просмотры: 98

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Голова уже кругом идет, но не могу свой код заставить работать правильно! Приложил свой тестовый проект. В любом случае, вам благодарен за участие! В таком виде, ваш код у меня тоже отработал нормально, но через привязанную excel таблицу не работает корректно.
ну так я в третьем посту спросил что в ячейке ?
всё работает

C#:
var table = project.Tables["data"];
var cell = table.GetCell(0, 0);
string[] arrTags = cell.Split(new[] {"\n"}, StringSplitOptions.RemoveEmptyEntries).ToArray();
for (int i = 0; i < arrTags.Length; i++)
{
    project.SendInfoToLog(arrTags[i], true);
}
return arrTags[0];
2019-07-19_035617.png
 
  • Спасибо
Реакции: likurg

likurg

Client
Регистрация
30.08.2015
Сообщения
75
Благодарностей
5
Баллы
8
Точно работает! Оказалось вся проблема тут, вместо "\r\n", нужно было ставить "\n". Интересно, почему "\r\n" не отрабатывал, можете просветить?
Спасибо вам за помощь!
 

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