Как объединить столбцы таблицы?

Светлана11422

Новичок
Регистрация
04.07.2019
Сообщения
19
Благодарностей
2
Баллы
3
Всем здравствуйте. Помогите пожалуйста разобраться с задачей объединения столбцов таблицы.
Мне нужно, чтобы в столбец "B" вписались все данные из других столбцов (C, D, E и т.д.), при этом столбец "A" остался в том же виде и строки сохранились как есть. В каждой строке разные данные, поэтому чтобы не сбились номера строк.

Пример, данные в начале



А нужно чтобы было так



Как это можно сделать в зенно? Можно и C# главное решить эту задачу, не могу найти по форуму.
 

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
Если по простому, брать строку "результат в переменные" (с удалением, или по номеру тут как удобно)
В другую таблицу складывать уже так как нужно
Понимаю, решение не идеальное, но если таблица не большая то вполне)
 
  • Спасибо
Реакции: Светлана11422

Светлана11422

Новичок
Регистрация
04.07.2019
Сообщения
19
Благодарностей
2
Баллы
3
Если по простому, брать строку "результат в переменные" (с удалением, или по номеру тут как удобно)
В другую таблицу складывать уже так как нужно
Понимаю, решение не идеальное, но если таблица не большая то вполне)
То есть мне нужно брать ячейку столбца "С", в переменную, потом записывать в другую таблицу, в столбец "B", затем брать ячейку столбца "D" и так далее? Но при записи же будет ячейка столбца "В" перезаписываться? А мне нужно чтобы все данные сохранились.

И так достаточно долгий процесс, может кто знает более быстрое решение?
 

Reysh

Client
Регистрация
02.12.2018
Сообщения
198
Благодарностей
132
Баллы
43
То есть мне нужно брать ячейку столбца "С", в переменную, потом записывать в другую таблицу, в столбец "B", затем брать ячейку столбца "D" и так далее? Но при записи же будет ячейка столбца "В" перезаписываться? А мне нужно чтобы все данные сохранились.

И так достаточно долгий процесс, может кто знает более быстрое решение?
Да, как выше написали. Получаете строку в переменные, с помощью обработки текста компонуете все переменные в одну переменную и перезаписываете в другую таблицу, а из этой удаляете строку
 
  • Спасибо
Реакции: Светлана11422

Crucifer

Client
Регистрация
23.06.2014
Сообщения
120
Благодарностей
82
Баллы
28
И так достаточно долгий процесс, может кто знает более быстрое решение?
Почему долгий? Сколько у вас там строк данных? Можете кинуть в лс если не гигантский файл, помогу переделать данные.
 
  • Спасибо
Реакции: Светлана11422

Светлана11422

Новичок
Регистрация
04.07.2019
Сообщения
19
Благодарностей
2
Баллы
3
Всем спасибо, получилось
 
  • Спасибо
Реакции: Reysh

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43
с помощью обработки текста компонуете все переменные в одну переменную
Это лишнее действие, можно переменные через разделитель {-String.Tab-} в одну ячейку
Меньше действий)
 
  • Спасибо
Реакции: Reysh

Reysh

Client
Регистрация
02.12.2018
Сообщения
198
Благодарностей
132
Баллы
43

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 409
Баллы
113
Код:
string tableNameOrigin = "Таблица 1";
string tableNameTemp = "Таблица 2";

// Исходные данные - Заполняем табличку
project.Tables[tableNameOrigin].AddRow(new[]{"Мои данные 1", "1","2", "3", "4", "5","6", "7", "8"});
project.Tables[tableNameOrigin].AddRow(new[]{"Мои данные 2", "1","2", "3", "4", "5","6", "7", "8"});

for(int i=0;i<project.Tables[tableNameOrigin].RowCount;i++){// Проходим по всем строчкам
    
    string[] data = project.Tables[tableNameOrigin].GetRow(i).ToArray(); // Берем строчку
    project.Tables[tableNameTemp].AddRow(new[]{data[0], string.Join(" ", data.Skip(1))}); // Добавляем данные в нужном виде во временную табличку
}
project.Tables[tableNameOrigin].Clear(); // Очистим табличку с исходными данными

for(int i=0;i<project.Tables[tableNameTemp].RowCount;i++){
    project.Tables[tableNameOrigin].AddRow(project.Tables[tableNameTemp].GetRow(i).ToArray()); // Запишем данные из временной таблички в исходную
}

project.Tables[tableNameTemp].Clear();
 
  • Спасибо
Реакции: Sergej и luk911

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