Выгрузка данных в табличный документ xlsx

1. Greek26rusa 2 06.11.20 16:11 Сейчас в теме
Добрый день коллеги.Подскажите может кто сталкивался с такой проблемой.
При штатном выгрузки используя табличный документ и расширения xlsx.Формируется файл открываю через эксель имею 2 листа с данными все ок. Но хотелось бы 2 лист заблокировать
из синтаксиса вычитал только что нужно ставить Истина на флаг Защита у ячейки но кроме как типа
ОбластьЯчеекТабличногоДокумента я не смог найти ,а также выставить флаг только просмотр у самого табличного документа.Ну вообщем все попытки провалились заблокировать лист или ячейки.Может кто поделится опытом.Спасибо
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. malikov_pro 1293 06.11.20 16:33 Сейчас в теме
Опишите пожалуйста вариант использования.
С добавлением формул, блокировок и специфичного XLS на IS информации немного, если критично, то нужно идти в документацию по API Excel.
3. Greek26rusa 2 06.11.20 19:51 Сейчас в теме
(2)Так я не создаю экземпляр Excelя создаю экземпляр Табличного документа и записываю его с расширением xlsx
4. Greek26rusa 2 06.11.20 19:52 Сейчас в теме
(2)Пример не мой но алгоритм такой же

ТабДок = Новый ТабличныйДокумент;

КоличествоКолонок = Таблица.Колонки.Количество();

//Формируем строку с заголовками
Для Счетчик = 1 По КоличествоКолонок Цикл

ТекущаяКолонка = Таблица.Колонки[Счетчик - 1];
ТабДок.Область("R1C" + Счетчик).Текст = ТекущаяКолонка.Имя;

КонецЦикла;

//Добавляем строки из таблицы
НомерСтроки = 2;
Для каждого СтрокаТаблицы Из Таблица Цикл

Для НомерКолонки = 1 По КоличествоКолонок Цикл

ТабДок.Область("R" + стрЗаменить(строка(НомерСтроки),Символы.НПП,"") + "C" + стрЗаменить(строка(НомерКолонки),Символы.НПП,"") ).Текст = СтрЗаменить(Стрзаменить(Строка(СтрокаТаблицы[НомерКолонки - 1]), Символы.НПП,""),",",".");

Если Строка(ТипЗнч(СтрокаТаблицы[4]))="Число" тогда
ТабДок.Область("R" + стрЗаменить(строка(НомерСтроки),Символы.НПП,"") + "C" + стрЗаменить(строка(НомерКолонки),Символы.НПП,"") ).Формат = "ЧЦ=15; ЧДЦ=2; ЧРД=.; ЧРГ=' '; ЧГ=0";
ИначеЕсли Строка(ТипЗнч(СтрокаТаблицы[4]))="Дата" тогда
ТабДок.Область("R" + стрЗаменить(строка(НомерСтроки),Символы.НПП,"") + "C" + стрЗаменить(строка(НомерКолонки),Символы.НПП,"") ).Формат = "ДФ=dd.MM.yyyy; ДЛФ=D; ДП=-";
КонецЕсли;

КонецЦикла;
НомерСтроки = НомерСтроки + 1;

КонецЦикла;

//Записываем табличный документ в файл Excel
ТабДок.Записать(ИмяФайлаЭксель, ТипФайлаТабличногоДокумента.XLSX);
5. Greek26rusa 2 06.11.20 19:53 Сейчас в теме
(2)В документации написано установить у табличного документа только просмотр в Истина а также у ячеек установить защита в истина.
Но эффекта 0
6. malikov_pro 1293 06.11.20 20:49 Сейчас в теме
(5) ТабДок <> документ XLSX, при выгрузке сохраняются данные и конвертируется форматирование.
Защита, формулы и подобное не экспортируется.
9. Greek26rusa 2 07.11.20 08:36 Сейчас в теме
(6)Это я уже понял) думал может быть есть обходные пути))Спасибо
7. tetraren 26 07.11.20 00:10 Сейчас в теме
Если 1С не умеет, то решение - сохранить в файл xls, потом открыть в Excel и доработать до нужного состояния.

Посмотрите тут. Практически то, что вам надо.
https://infostart.ru/public/685804/
8. Greek26rusa 2 07.11.20 08:36 Сейчас в теме
(7)да с экселям я работать умею спасибо.Хотелось без вмешательства экселя обойтись
12. Greek26rusa 2 09.11.20 17:07 Сейчас в теме
(7)что то с экселем тоже не получается

беру ячейку ставлю locked = Истина без результатно
10. malikov_pro 1293 07.11.20 12:50 Сейчас в теме
(9) Опишите вариант использования, зачем блокируете часть данных? Возможно есть решение без XLS.
11. Greek26rusa 2 09.11.20 17:01 Сейчас в теме
(10) У меня 2 листа когда я сохраняю через xls при первом открытии активно стразу 2 листа так как все заносится копипаст то получается задевают 2 лист если не выделят нужный лист. Поэтому хочу заблокировать что бы не давало писать
в ячейках хранятся настройки по загрузки в другую базу
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот