ТиС 77
Суть проблемы: формируем печатную форму документа, сохраняю в exel штатными средствами:
В печатную форму выводятся значения типа
072.0012
в exel-е видим
72,0012
нашел чью-то обработку, сохраняющую в exel с через yoksel, добился вывода лидирующих (и конечных) нулей,
072,0012
но зпт вместо тчк все равно остается.
данное значение - код товара у поставщика, и считать он, соответственно, должен именно так
072.0012
не подскажете, что можно сделать?
спасибо...
Суть проблемы: формируем печатную форму документа, сохраняю в exel штатными средствами:
Таб.Записать(ИмяФайлаВыгрузки, 1);
В печатную форму выводятся значения типа
072.0012
в exel-е видим
72,0012
нашел чью-то обработку, сохраняющую в exel с через yoksel, добился вывода лидирующих (и конечных) нулей,
072,0012
но зпт вместо тчк все равно остается.
данное значение - код товара у поставщика, и считать он, соответственно, должен именно так
072.0012
не подскажете, что можно сделать?
спасибо...
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сохраняйте не штатными стредствами. Подключитесь к Экселю и поставьте где нужно текстовый формат. Ну и запишите через соединение данные.
Вариант 2 - сохраните в текстовый файл, а затем при открытии его через Эксел укажите нужный формат и разделители.
Вариант 2 - сохраните в текстовый файл, а затем при открытии его через Эксел укажите нужный формат и разделители.
(10) - это не наши методы, мы не ищем легких путей :)
вдруг кому еще пригодится, сделал:
про штатное сохранение в ехель забываем, создаем сами (см. мы не ищем легких путей :))
приоткрытии в ехел-е получам в нужной ячейке
072.0012
причем ехель в хинте подсказывает, что число было сохранено как текст
вдруг кому еще пригодится, сделал:
про штатное сохранение в ехель забываем, создаем сами (см. мы не ищем легких путей :))
ОкноЕхсеl = СоздатьОбъект("Excel.Application");
КнигаExcel = ОкноЕхсеl.Application.Workbooks.Add() ;
// шапка
КнигаExcel.Worksheets(1).Cells(1,2).Value = "Поставщик: ";
КнигаExcel.Worksheets(1).Cells(1,3).Value = "" + СокрЛП(Контрагент.ПолнНаименование);
// и т.д., делаем шапку
// нужные нам ячейки делаем общего формата
ОкноЕхсеl.Range(КнигаExcel.Worksheets(1).Cells(11,2),КнигаExcel.Worksheets(1).Cells(11 + КоличествоСтрок() ,2)).NumberFormat = "@";
//заполняем строки
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
НПП = НПП + 1;
НомерСтрокиВЕхел = НомерСтрокиВЕхел + 1;
КнигаExcel.Worksheets(1).Cells(НомерСтрокиВЕхел,1).Value = "" + НПП;
КнигаExcel.Worksheets(1).Cells(НомерСтрокиВЕхел,2).Value = "" + СокрЛП(КодПоставщика); // здесь число запишется как текст, т.к мы для этих ячеек установили общий формат
...
КонецЦикла;
// всякие рамочки и выравнивания
ОкноЕхсеl.Range(КнигаExcel.Worksheets(1).Cells(11,1),КнигаExcel.Worksheets(1).Cells(11 + НПП,7)).Borders.LineStyle = 1;
ОкноЕхсеl.Range(КнигаExcel.Worksheets(1).Cells(11,1),КнигаExcel.Worksheets(1).Cells(11 + НПП,7)).HorizontalAlignment = 2;
ОкноЕхсеl.Range(КнигаExcel.Worksheets(1).Cells(11,1),КнигаExcel.Worksheets(1).Cells(11 + НПП,7)).VerticalAlignment = 2;
// сохраняю, закрываю ехель
ОкноЕхсеl.ActiveWorkbook.SaveAs(ИмяФайлаВыгрузки);
ОкноЕхсеl.ActiveWorkbook.Close();
Показатьприоткрытии в ехел-е получам в нужной ячейке
072.0012
причем ехель в хинте подсказывает, что число было сохранено как текст
Добрый день.
Много слов, а цели нет.
Что вы хотите получить при сохранении в EXCEL?
В EXCEL 072.0012 это должно быть число? или может быть текст?
Какие-то арифметические операции с этим значением в EXCEL будут выполняться или это число может быть как текст?
Много слов, а цели нет.
Что вы хотите получить при сохранении в EXCEL?
В EXCEL 072.0012 это должно быть число? или может быть текст?
Какие-то арифметические операции с этим значением в EXCEL будут выполняться или это число может быть как текст?
При формировании табличного документа в качестве разделителя для числовых значений использовал ",". В самой 1С в табличной части все отлично, везде разделитель присутствует. При сохранении в EXCEL стандартным способом "Сохранить как" часть столбцов сохраняется как нужно, а в части столбцов исчезает "," и вместо ее появляется " " (пробел) как разделитель. Соответственно значение в столбце резко увеличивается. До слома мозга перепробовал разные EXCELи, настройки в EXCEL в параметрах, использование ФОРМАТ() функции тоже ничего не давало. На разных Windows эффект такой же. Короче причина в моем случае оказалась проста. Столбец, который "правильно" распознавался в EXCEL имел в Свойствах ячейки положение по горизонтали и по вертикали "Центр". Как только выставил у всех нужных ячеек такие же свойства все стало переноситься как часики. Может кому поможет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот