Каталог решений - Определение формата ячейки Excel из 1С

Определение формата ячейки Excel из 1С

Определение формата ячейки Excel из 1С

В наличии

Перенося данные из таблиц Эксель в 1С, я заметил что некоторые ячейки с содержимым вида "50*10" в 1С переносятся не в таком же виде, а просто, например, цифрой 50. Все дело в формате ячейки!

Категория:

Описание

Возможно, я изобретаю велосипед, но в свое время четкого ответа по этой теме не нашел. Вот и собрал всю полученную информацию в кучу и вываливаю её на ваш справедливый суд.

Итак, я опишу как получить формат ячейки и что с ним сделать, чтобы получить нормальное значение, например «50*10,0″=500

Эксель = СоздатьОбъект("Excel.Application");
Книга = Эксель.Workbooks;
Книга.Open("ИмяФайла");
Лист = 1;
НужныйЛист = Эксель.Sheets(Лист);
Стр = 1; Столб = 1;
Форм = СокрЛП(НужныйЛист.Cells(Стр,Столб).NumberFormat);
Значение = СокрЛП(НужныйЛист.Cells(Стр,Столб).Тext);
Значение = Число(Значение);
Книга.Close();
//Наш формат получается в виде - "*10,0" удаляем лишние символы и меняем запятую на точку (как принято в 1С)
Форм = СтрЗаменить(Форм,",",".");
Форм = СтрЗаменить(Форм,Симв(34),""); //Тут удяляем кавычки
Форм = СтрЗаменить(Форм,"*","");
Форм = Число(Форм);
Итого = Форм * Значение;

Все!

has been added to your cart:
Оформление заказа