Как текст файл разложить в таблице А заголовок B текст

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Добрый всем, кручусь по кругу и не как не разберусь, помогите пожалуйста.
Есть текст файлы(первая строка заголовок, остальное текст)
Как его разместить в таблице А заголовок B текст, что нужно указать в разделитель столбцов ?
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
1609275506271.png

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

https://zennolab.com/discussion/threads/poisk-nomera-stroki-v-tablice-po-peremennoj.34339/
столбец поиск

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


IZennoTable table = project.Tables["base"];
int colNum = 0; //порядковый номер колонки

for (int i = 0; i < table.RowCount; i++)
{
    string cell = table.GetCell(colNum, i); // получает текст ячейки
    if (cell.Contains(project.Variables["part"].Value)) // поиск части текста из переменной ZP: part
    {
        return "true";
    }
}

return "false";
 
  • Спасибо
Реакции: kuzenstudio

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Добрый всем, кручусь по кругу и не как не разберусь, помогите пожалуйста.
Есть текст файлы(первая строка заголовок, остальное текст)
Как его разместить в таблице А заголовок B текст, что нужно указать в разделитель столбцов ?
Такой вариант можно применить.
Приложил пример этого шаблона.

- привязка файла к списку
- берем первую строку в перем. title
- берем остальные строки через диапазон "1-end" в подсписок и объединяем его в перем. content
- добавляем строку в таблицу: {-Variable.title-}{-String.Tab-}{-Variable.content-}

69947
 

Вложения

  • Спасибо
Реакции: doc, kuzenstudio и Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Такой вариант можно применить.
Приложил пример этого шаблона.

- привязка файла к списку
- берем первую строку в перем. title
- берем остальные строки через диапазон "1-end" в подсписок и объединяем его в перем. content
- добавляем строку в таблицу: {-Variable.title-}{-String.Tab-}{-Variable.content-}

Посмотреть вложение 69947
Это получается {-String.Tab-} - переход на другой столбец? А конкретно столбец, указать так ни получиться?
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
C#:
string path = @"D:\test.txt";//укажите свой путь или подставьте из переменной
List<string> file = new List<string>(File.ReadLines(path));//создадим список из всего файла
string title = file[0];//назначим первую строку заголовком
file.RemoveAt(0);//удалим первую строку
string body = string.Join(Environment.NewLine, file);//запишем оставшийся текст в переменную
string[] row = new [] {//сложим переменные в нужном порядке в массив для записи по столбцам
    title,//запишется в А
    body//запишется в В
};
project.Tables["Tablica"].AddRow(row);//добавим массив строк в строку таблицы
 

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Спасибо всем кто откликнулся. Пока пробовал все варианты, подготовил текст сразу в таблице, так гораздо удобнее конечно, все заголовки А, текст B и погнал. Но Alexmd большое спасибо, пригодится !
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Это получается {-String.Tab-} - переход на другой столбец? А конкретно столбец, указать так ни получиться?
Да, Таб - разграничитель столбцов, но фактически разделитель будет использован тот, который указан в св. таблицы. Можно также через добавление в конкретные ячейки, но тут надо вести (наращивать) счетчик строк.

69972
 
  • Спасибо
Реакции: djaga и Roman48

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