|
выгрузка ТЗ в Excel: имена столбцов |
☑ |
0
igel1969
21.06.23
✎
15:57
|
Здравствуйте
1С 8.3
Мне надо выгрузить Таблицу значений в Excel.
Разумеется, я знаю как это делается простым способом:
Построитель = Новый ПостроительОтчета();
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЭлементыФормы.ТабличноеПоле1.Значение);
Построитель.ВыводитьЗаголовокОтчета = Ложь;
Построитель.Вывести(ТабДок );
ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX);
Но проблема в следующем:
У меня имена столбцов ТЗ имеют такой вид: с05062023по11062023 с12062023по18062023 и т.д. потому что в имени столбца нельзя указывать ни пробелы, ни точки.
Но у тех же самых столбцов при создании я заполняю реквизит "Заголовок", который выглядит уже по-человечески: "с 05.06.2023 по 11.06.2023" , "с 12.06.2023 по 18.06.2023" и т.д.
На форме (элемент Табличное поле) все выглядлит как надо. Если на Табличное поле нажать правой кнопкой мыши и выбрать "Вывести таблицу", то будет тоже все красиво.
А вот если выгружить в Excel вышеописанным способом, то там выводятся настоящие имена столбцов, некрасивые.
Если не городить полный перебор столбцов в Excele, то как-нибудь изящно можно исправить ситуацию?
|
|
1
Garykom
21.06.23
✎
16:16
|
у табдок поменяй текст в ячейках
ТабличныйДокумент (SpreadsheetDocument)
Область (Area)
Вариант синтаксиса: По адресу
Синтаксис:
Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>, <ФорматСтрок>)
|
|
2
Мимохожий Однако
21.06.23
✎
16:16
|
В таблице значений у колонок кроме свойство Имя есть Заголовок.
КолонкаТаблицыЗначений (ValueTableColumn)
Свойства:
Заголовок (Title)
Имя (Name)
ТипЗначения (ValueType)
Ширина (Width)
|
|
3
igel1969
21.06.23
✎
16:24
|
(2) так я же пишу, что заголовок у меня заполнен, заполнен красиво, на форме все красиво, но в Excel выгружаются не заголовки, а имя колонки
|
|
4
igel1969
21.06.23
✎
16:27
|
(1) да, так и сделаю, спасибо
|
|
5
igel1969
22.06.23
✎
07:56
|
(1) так и сделал, вот конечный вариант:
ТабДок = Новый ТабличныйДокумент;
Построитель = Новый ПостроительОтчета();
ИсточникДанных = Новый ОписаниеИсточникаДанных(ЭлементыФормы.ТабличноеПоле1.Значение);
Построитель.ИсточникДанных = ИсточникДанных;
Построитель.ВыводитьШапкуТаблицы = Истина;
Построитель.ВыводитьЗаголовокОтчета = Ложь;
Построитель.Вывести(ТабДок );
КК = ЭлементыФормы.ТабличноеПоле1.Колонки.Количество() - 2;
Для Инд = 1 По КК цикл
ТабДок.Область(1, Инд + 3).Текст = ЭлементыФормы.ТабличноеПоле1.Колонки[Инд+1].ТекстШапки;
КонецЦикла;
ТабДок.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLSX);
|
|
6
НафНаф
22.06.23
✎
09:28
|
а если:
ПолеПостроителяОтчета (ReportBuilderField)
Представление (Presentation)
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Представление поля.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.0.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший