Присвоить имя столбцу таблицы

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1
Доброго времени суток, уважаемые форумчане.

Несмотря на долгие поиски решения проблемы, ответа не нашел.

Суть: В процессе работы шаблона необходимо присваивать столбцам таблицы имя из переменной. Т.е, столбец А переименовать, например, в "Радио", столбец В в "Фонд" и т.д. Шаблон парсит данные по тегу "Радио" и складывает в список, после чего этот список загоняем в столбец с именем "Радио", далее по кругу.

Проблема с присвоением имени столбцу. Вручную прописывать тысячи имен не вариант.
версия ZP 5.28.0.0
 

Вложения

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1
Доброго времени суток, уважаемые форумчане.

Несмотря на долгие поиски решения проблемы, ответа не нашел.

Суть: В процессе работы шаблона необходимо присваивать столбцам таблицы имя из переменной. Т.е, столбец А переименовать, например, в "Радио", столбец В в "Фонд" и т.д. Шаблон парсит данные по тегу "Радио" и складывает в список, после чего этот список загоняем в столбец с именем "Радио", далее по кругу.

Проблема с присвоением имени столбцу. Вручную прописывать тысячи имен не вариант.
версия ZP 5.28.0.0
 

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1
Походу надо сначала выспаться
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 788
Благодарностей
1 952
Баллы
113
Суть: В процессе работы шаблона необходимо присваивать столбцам таблицы имя из переменной. Т.е, столбец А переименовать, например, в "Радио", столбец В в "Фонд" и т.д.
Как вариант, делать первую строку таблицы с нужными заголовками. для каждого столбца свой заголовок . Исходя из этого потом строить логику работы с таблицей. лучше делать такое через код на C#
 

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
122
Баллы
43
Если по вашей логике
Шаблон парсит данные по тегу "Радио" и складывает в список, после чего этот список загоняем в столбец с именем "Радио", далее по кругу.
Перед тем как "загонять" список в таблицу, добавить в начало списка переменную с нужным название
То есть первая строка будет названием столбца в таблице
2019-11-16_11-46-11.png
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Может быть такое, что я туплю - но не поленился и посмотрел в Excel - даже там нет возможности переименовать столбцы в произвольное значение.
Прикреплю скриншот.
Возможно Вы просто хотите чтобы первая строка в табличке имела нужные значения?
 

Вложения

  • Спасибо
Реакции: Reactor3000

Ikigai

Client
Регистрация
13.12.2016
Сообщения
276
Благодарностей
27
Баллы
28
Как добавить список в таблицу , в сишарпе ?
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
Т.е, столбец А переименовать, например, в "Радио", столбец В в "Фонд" и т.д. Шаблон парсит данные по тегу "Радио" и складывает в список, после чего этот список загоняем в столбец с именем "Радио", далее по кругу.
Через Dictionary<TKey, TValue >, там можно попробовать реализовать подобное.
 

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1
В ответ radv, Platon и BAZAg:
Вы правы. У меня и был вариант нулевую строку таблицы обозвать значением из переменной и следом загружать список. Но заморочки были в другом.
Первая заморочка. Касаемо количества и обозначения столбцов.
Столбцы в таблице обозначаются литерами A, B, C и т.д. После столбца Z идет AB и далее.
A.....Z
AB.....ZB
AC.....ZC
и т.д., вплоть до
AZ.....ZZ
В результате получаем 702 столбца. А дальше что?
Мне же надо несколько тысяч столбцов. Как их обозначить?
Думаю, что зеннотаблицы построены по такому же принципу, что и в Exel. Поковырял Exel и вот:

Технические характеристики и ограничения листа и книги exel
Общее количество строк и столбцов на листе1 048 576 строк и 16 384 столбца
Ширина столбца255 знаков
Общее количество знаков в ячейке32 767 знаков
Количество листов в книгеОграничено объемом доступной оперативной памяти (по умолчанию 1 лист)
Количество независимых ячеек, которые можно выделить2 147 483 648 ячеек
Точность представления чисел, разрядов, не более15 цифр.
Допустимое отрицательное число, не менее-2,2251E+308
Допустимое положительное число, не менее2,2251E-308
Допустимое положительное число, не более9,99999999999999E+307
Допустимое отрицательное число, не более-9,99999999999999E+307

Как обозначить 16 000 столбиков?

Как оказалось, ларчик открывался, как всегда, довольно просто. После неопределенного количества тыканий по клавиатуре обозвал столбик А циферкой 0.
"Ура! Заработало!" (автор - Матроскин. Кот.)
Т.е. получается, что столбцы нумеруются так же, как и строки ( 0, 1, 2....). Вот этого я не знал, и в документации и на форумах об этом ни строчки.
Теперь можно через переменную с увеличением счетчика присваивать столбцу номер и добавлять в него данные из списка, в котором нулевая строка будет названием столбца.

Вторая заморочка. Касаемо взятия значений по столбцам. Придется городить огород из переменных. Но это уже вопрос решаемый. (мускулами mysql). (Как я рассчитывал, но...)

А теперь, собственно, главная причина всех этих телодвижений.

Сначала хотел всё это организовать на MYSQL. Но столкнулся со следующей ситуацией: При добавлении первого столбца в таблицу мускула всё проходит гладенько. При добавлении второго столбца запись в нем делается со строки, следующей за последней строкой первого столбца, т. е. если последняя строка первого столбца имеет номер, например 1000, то первая строка второго столбца имеет номер 1001 и так далее. Получается эдакая лесенка. Или у меня кривые ручонки? Вопрос риторический, не надо.

По документации: При добавлении одиночных записей используется команда INSERT. В самом простом варианте ее применения необходимо задать значения каждого столбца, в том порядке, в каком они были перечислены в команде CREATE TABLE.
INSERT INTO tablename
-> VALUES ('name','name2','name3',.....,'nameN'); Этот вариант, при большом количестве столбцов, совсем не вариант :-))

Второй способ - загрузить готовый текстовый файл:

LOAD DATA LOCAL INFILE "файл.txt" INTO TABLE tablename;

Чем я и решил воспользоваться, потирая потные от предвкушения ручонки. Ведь, насколько я полагаю, зеннотаблица является текстовым файлом.

Еще раз подшаманил шаблон, запустил в мейкере. Пост/гет летает, аж свист стоит. Пью кофе, наслаждаюсь. За четверть часа напарсил 800 000 с хвостиком строк, составился список и начал загружаться в таблицу. И пиндец. Всё встало колом. Проект замер. Мышка еле двигается. С трудом открылся диспетчер задач. Мать моя, материнская плата! Память загружена на 98%. При этом два браузерных потока с инстансами в работающем постере всего 15%, а мейкер аж 75%, плюс остальные процессы. После полутора часов ожидания пришлось принудительно вырубить машину. Повторил. То же. Т.е. работа с таблицами, получается, сильно нагружает комп, тем более с таким количеством данных. А если в ней будет, скажем, 1000 столбцов, а в каждом несколько сот тысяч строк? Расстроился - пиндец!

Мысли по этому поводу: Работать с мускулом. Уменьшать количество столбцов и увеличивать количество таблиц. Ручками прописывать VALUES в переменные. То ещё удовольствие.

Как отнестись к вышеизложенному. Да никак. Это просто моя ситуация и я решил скинуть накопившееся. А может я где-то что-то упустил? Пойду напьюсь. :dw:
 
Последнее редактирование:

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1
Последнее редактирование:

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93

zabor

Client
Регистрация
12.03.2019
Сообщения
7
Благодарностей
0
Баллы
1
Можно тут ознакомиться:
[/QUOTE

Спасибо. Буду изучать. Это новая для меня область.
 

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