|
Прочитать первую строку Табличного документа | ☑ | ||
---|---|---|---|---|
0
ST_
20.03.24
✎
09:51
|
Здравствуйте. Интересует следующее: есть Табличный документ, у которого первая строка - это тоже данные, которые надо считать. Перевожу из Табличного документа в Таблицу значений - первая строка теряется, хотя область обозначена целиком; я так понимаю, что при этих действиях первая строка считается за заголовок и не записывается в ТЗ. Вопрос, можно ли как-то настроить, чтоб первая строка тоже записывалась?
|
2 |
||
1
Волшебник
20.03.24
✎
09:53
|
Исправьте программный код, который считает первую строку заголовочной
|
3 |
||
2
Garykom
гуру
20.03.24
✎
09:59
|
(0) Можно добавить заголовочную строку ))
ТабДок.ВставитьОбласть |
4 5 |
||
3
Garykom
гуру
20.03.24
✎
09:58
|
(1) Он вероятно через ПостроительЗапроса читает табличный документ
|
5 |
||
4
Волшебник
20.03.24
✎
09:59
|
(2) или так...
|
|||
5
ST_
20.03.24
✎
10:25
|
||||
6
ST_
20.03.24
✎
12:11
|
А как быть, если у меня многостраничный документ был до загрузки в табличный документ? При помощи добавления пустой области проблема решилась на первых двух листах, а дальше таблица поплыла.
|
7 |
||
7
Garykom
гуру
20.03.24
✎
12:22
|
(6) Дык область ячеек то задавай правильно
https://1c.alexcode.ru/zagruzka-dannyh-v-1s-iz-excel/ "Загрузка табличного документа при помощи построителя отчета" |
|||
8
ST_
20.03.24
✎
13:42
|
Я задаю так. Но эта строчка вставляется как-то непредсказуемо: то в нужное место, то нет. В итоге отрабатывает правильно в первый раз, а потом ерунда какая-то.
Для Каждого Область Из ТабДок.Области Цикл ЧитаемаяОбласть = ТабДок.ПолучитьОбласть(Область.Имя); ЧитаемаяОбласть.ВставитьОбласть(ТабДок.Область("R1"), ТабДок.Область("R2"), ТипСмещенияТабличногоДокумента.ПоВертикали); ПостроительЗапроса = Новый ПостроительЗапроса; ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЧитаемаяОбласть.Область()); ПостроительЗапроса.ЗаполнитьНастройки(); ПостроительЗапроса.Выполнить(); ТЗ = ПостроительЗапроса.Результат.Выгрузить(); Страницы.Добавить(ТЗ); КонецЦикла; |
10 |
||
9
Волшебник
20.03.24
✎
13:41
|
ТабДок.ВставитьОбласть(...)
|
11 |
||
10
Garykom
гуру
20.03.24
✎
13:43
|
(8) Хе
Логически подумай Если ты был 10-й в очереди но перед тобой 0-ым влез еще чел, то каким в очереди ты стал? |
11 |
||
11
ST_
20.03.24
✎
13:58
|
||||
12
lexushka
20.03.24
✎
16:08
|
Я пользуюсь таким кодом
ТабДок = Новый ТабличныйДокумент; ТабДок.Прочитать(ПутьКФайлу,СпособЧтенияЗначенийТабличногоДокумента.Текст); ТД = Новый ТабличныйДокумент; Для Сч = 1 По ТабДок.ШиринаТаблицы Цикл НомерКолонки = Формат(Сч, "ЧГ=0"); ОбластьЯчейки = ТД.Область("R1C" + НомерКолонки + ":R1C" + НомерКолонки); ОбластьЯчейки.Текст = "Колонка_" + НомерКолонки; КонецЦикла; ТД.Вывести(ТабДок); Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТД.Область(1, 1, ТД.ВысотаТаблицы,ТД.ШиринаТаблицы)); Построитель.ЗаполнитьНастройки(); Построитель.Выполнить(); |
13 |
||
13
Garykom
гуру
20.03.24
✎
16:25
|
(12) У ТС книга экселя с много листов прочитана в табдок с областями
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |