Корректное отображение числа в виде строки в таблице Excel
Добрый день, гении 1С!
Столкнулся с неожиданной проблемой. Мне нужно сформировать excel-файл с данными. В запросе есть артикул, который воспринимается числом. Чтобы избавиться от неразрывных пробелов между триадами, я делаю такой финт:
В результате я получаю excel-файл, в котором корректно отображается артикул. Однако при попадании на ячейку, артикул переводится в число, да еще и округляется (см. скриншот). Посоветуйте, как сделать так, чтобы Excel не преобразовывал ячейку с артиклем.
Столкнулся с неожиданной проблемой. Мне нужно сформировать excel-файл с данными. В запросе есть артикул, который воспринимается числом. Чтобы избавиться от неразрывных пробелов между триадами, я делаю такой финт:
Для каждого Строка Из ВыборкаДетальныеЗаписи Цикл // заполняем стобцы excel-файла
//
ОбластьСтрока.Параметры.АртикулНоменклатуры = Строка(Формат(Строка.АртикулНоменклатуры, "ЧГ="));
//
ТабДок.Вывести(ОбластьСтрока); // Формируем в документе строку с данными
КонецЦикла;
ИмяФайла = КаталогВременныхФайлов() + "Отчет" + ".xlsx";
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
Вложения = Новый Структура;
Вложения.Вставить("Отчет", ИмяФайла);
ПоказатьВ результате я получаю excel-файл, в котором корректно отображается артикул. Однако при попадании на ячейку, артикул переводится в число, да еще и округляется (см. скриншот). Посоветуйте, как сделать так, чтобы Excel не преобразовывал ячейку с артиклем.
Прикрепленные файлы:
По теме из базы знаний
- Сравнение 1С8 и Navision
- MS Office Excel для пользователей. Подводные камни и полезные возможности
- Модуль "Ответственное хранение" в 1С:УТ 11.5, КА 2.5, ERP 2.5 для фулфилмента FBS / FBO
- Обзор полезных методов БСП 3.1.4
- Wildberries. Загрузка еженедельных отчетов и финансовые показатели в разрезе карточек товаров (Юнит-экономика в 1с)
Найденные решения
+(9)
программно поменять формат ячейки на Текстовый
Или не программно: если файл создается не с нуля, а из заготовки (шаблона), то можно в шаблоне выделить столбец с артикулом и задать ему формат "Текстовый". Тогда при добавлении новых строк Excel не будет преобразовывать строку цифр в число в этом столбце.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Посоветуйте, как сделать так, чтобы Excel не преобразовывал ячейку с артиклем
Попробуйте добавить апостроф перед строкой - Excel воспринимает это как команду не преобразовывать в число:
ОбластьСтрока.Параметры.АртикулНоменклатуры = "'" + Строка(Формат(Строка.АртикулНоменклатуры, "ЧГ="));
+(9)
программно поменять формат ячейки на Текстовый
Или не программно: если файл создается не с нуля, а из заготовки (шаблона), то можно в шаблоне выделить столбец с артикулом и задать ему формат "Текстовый". Тогда при добавлении новых строк Excel не будет преобразовывать строку цифр в число в этом столбце.
Вместо установить значение параметром использовал примерно такой код:
ПроблемнаяОбласть.ТекущаяОбласть.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Текст;
ПроблемнаяОбласть.ТекущаяОбласть.СодержитЗначение = Истина;
ПроблемнаяОбласть.ТекущаяОбласть.ТипЗначения = Новый ОписаниеТипов("Строка");
ПроблемнаяОбласть.ТекущаяОбласть.Значение = УстанавливаемоеЗначение;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот