Как сохранить список в одну ячейку, разделив чем-нить?

GoogleMo

Client
Регистрация
13.04.2014
Сообщения
223
Благодарностей
8
Баллы
18
Столкнулся с проблемой, как аккуратно разложить спаршенные данные и прям завис... Например не знаю, как положить список в одну ячейку, разделив чем-то каждую строку, единственная мысль, что мне пришла в голову - это создавать переменные и забирать строку-вставлять, но это такая огромедная хрень получится, что этот вариант отпал.
 

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
305
Баллы
63
Если я правильно понял, то, как вариант, можно так:-)
Вписать данные списка в таблицу:
// Зенно список который записать в одну ячейку таблицы
var zennoList = project.Lists["Мой зенно список"];

// Зенно таблица в которую будем вносить данные
var zennoTable = project.Tables["Моя зенно таблица"];

// Разделитель (можно любой)
var separator = "-|-";

// Записываем данные в таблицу (первый параметр - столбец; второй - строка; третий - само значение)
zennoTable.SetCell(0, 0, string.Join(separator, zennoList));
Получить данные из таблицы обратно в список:
// Зенно список в который будем класть данные из ячейки таблицы
var zennoList = project.Lists["Мой зенно список"];

// Зенно таблица из которой будем брать данные
var zennoTable = project.Tables["Моя зенно таблица"];

// Разделитель (можно любой)
var separator = "-|-";

// Получаем данные ячейки и кладем их в список
zennoList.AddRange(zennoTable.GetCell(0, 0).Split(new[] { separator }, StringSplitOptions.None));
Если нужно, чтоб разделитель был новой строкой. Но данные могут пострадать, при обратном считывании:
var separator = Environment.NewLine;

Либо вот второй вариант с использованием json (мне так больше нравится:al:)
Записать данные в ячейку таблицы:
// Зенно список который записать в одну ячейку таблицы
var zennoList = project.Lists["Мой зенно список"];

// Зенно таблица в которую будем вносить данные
var zennoTable = project.Tables["Моя зенно таблица"];

//  Записываем данные в таблицу (первый параметр - столбец; второй - строка; третий - само значение)
zennoTable.SetCell(0, 0, Global.ZennoLab.Json.JsonConvert.SerializeObject(zennoList));
Получить данные из ячейки таблицы в список:
// Зенно список в который будем класть данные из ячейки таблицы
var zennoList = project.Lists["Мой зенно список"];

// Зенно таблица из которой будем брать данные
var zennoTable = project.Tables["Моя зенно таблица"];

// Получаем данные ячейки и кладем их в список
zennoList.AddRange(Global.ZennoLab.Json.JsonConvert.DeserializeObject<List<string>>(zennoTable.GetCell(0, 0)));
 
Последнее редактирование:
  • Спасибо
Реакции: DevOps и Alexmd

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 560
Благодарностей
8 732
Баллы
113
Столкнулся с проблемой, как аккуратно разложить спаршенные данные и прям завис... Например не знаю, как положить список в одну ячейку, разделив чем-то каждую строку, единственная мысль, что мне пришла в голову - это создавать переменные и забирать строку-вставлять, но это такая огромедная хрень получится, что этот вариант отпал.
Тоже не уверен, что понял правильно.

81972
 
  • Спасибо
Реакции: GoogleMo и Alexmd

Nord

Client
Регистрация
22.03.2012
Сообщения
2 377
Благодарностей
1 438
Баллы
113
Тоже не уверен, что понял правильно.
Скорее всего, имелось ввиду что то такое -

81977



Обычно всякие ТП-сеошницы просят им в таком виде что-то спарсить.
И это хорошо, что они не хотят, чтоб в третьей колонке были списки соотносимые к строкам в ячейках второй колонки =)
А про БД они знать не хотят - сложна =)


Вообще не советую так сохранять, легко все херится
 

GoogleMo

Client
Регистрация
13.04.2014
Сообщения
223
Благодарностей
8
Баллы
18
Все всё поняли правильно, большое спасибо за ответы.
2Nord, там просто привязку к строке надо сделать, вроде как это удобней в json'е сделать, но я с ним вообще работать не умею. Поэтому приходится с разделителями в одной ячейке играться...
 

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