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

26.01.12

Интеграция - Загрузка и выгрузка в Excel

Перенося данные из таблиц Эксель в 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),""); //Тут удяляем кавычки
Форм = СтрЗаменить(Форм,"*","");
Форм = Число(Форм);
Итого = Форм * Значение;

Все!

См. также

Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v7.7 1C77 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    23374    16    22    

17

Загрузка и выгрузка в Excel Программист Платформа 1С v7.7 Абонемент ($m)

Сводная таблица Excel из 1С - как сделать ее программно через COM соединение.

1 стартмани

30.07.2021    6840    2    atdonya    1    

2

Загрузка и выгрузка в Excel ККМ Программист Бухгалтер Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Управленческий учет Абонемент ($m)

Выполняет выгрузку товаров (всех, только с признаком в прайсе, только из указанной папочки) с гибкой настройкой выгружаемых данных. Формируется файл в формате XLSX подходящий для прямой удаленной загрузки в кассовый аппарат АТОЛ 91Ф/92Ф и им подобных, имеющих управление через Личный кабинет АТОЛ (lk.atol.ru).

1 стартмани

31.01.2021    8401    2    &-rey    1    

4

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Программист Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 Управленческий учет Абонемент ($m)

Обработки группового дополнения данных о номенклатуре. Ввод веса и объема существующих товаров вручную в форму таблицы значений и затем запись в справочник Номенклатуры и Единиц. Закачка весов и объемов существующих товаров из Эксель в справочник Номенклатуры и Единиц. Загрузка внешних кодов товаров из Эксель в справочник Номенклатуры. Редактирование внешних кодов товаров в форме списка. Дозаполнение реквизитов существующих товаров из Эксель (ключевые поля - штрихкод, наименование, внешний код).

1 стартмани

11.10.2019    12152    2    ksnik    2    

2

Оптовая торговля Загрузка и выгрузка в Excel Пользователь Платформа 1С v7.7 1C77 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

В данной публикации приведены примеры обработок обмена дистрибьютора с поставщиками и покупателями через Эксель. Создание товаров-новинок. Автоматическое формирование Заказа поставщику по продажам. Заполнение бланка заказа поставщику. Загрузка приходной накладной от поставщика. Загрузка любых справочников из Эксель, например товарных сертификатов. Выгрузка прайслиста в бланк заказа (создание бланка заказа). Загрузка заявки покупателя из произвольного файла Эксель. Загрузка заявки покупателя из бланка заказа.. Для работы требуется установленный MS Excel.

1 стартмани

08.09.2019    16623    10    ksnik    2    

3

Загрузка и выгрузка в Excel Перенос данных 1C Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1C:Бухгалтерия 1C77 1С:ERP Управление предприятием 2 Абонемент ($m)

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    19794    19    ksnik    12    

8

Загрузка и выгрузка в Excel Оптовая торговля Розничная торговля Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:ERP Управление предприятием 2 Управленческий учет Абонемент ($m)

Описание практического опыта переноса данных из двух устаревших учетных систем в одну современную с обобщением справочников (например номенклатуры, контрагентов, партнеров) и объединением учетных данных устаревших систем в единую новую УС применяя комбинацию стандартной загрузки из Эксель и КД2. Данная публикация является примером переноса данных из сильно устаревших и сильно переписанных конфигураций 1С:Предприятия 7.7 и 8 в современную 1С 8.3 своими силами при условии невозможности или нежелания пользоваться обновлением релизов и типовой функциональностью универсального обмена данными типовых мастеров переноса данных. Отличительной особенностью публикации является устранение зависимости от версий релиза конфигураций, отказ от обновлений устаревших конфигураций.

1 стартмани

29.07.2019    21678    17    ksnik    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. nelse 26.01.12 00:02 Сейчас в теме
А Вы сами это пробовали?
Насколько я знаю, может и не прав, но такая конструкция
"Эксель = СоздатьОбъект("Excel.Application");"
в 7.7 просто не работает, т.к. в ней требуется английское написание "создать объект".
Да и такое: "Значение = СокрЛП(НужныйЛист.Cells(Стр,Столб).Тext);"
а потом: "Форм = Число(Форм);"
и дальше: :Итого = Форм * Значение;"...?
Зачем число умножать на строку?
5. griff19 14 11.02.12 19:45 Сейчас в теме
Я, например вот какую штуку набросал - записывает в первую ячейку таблицы данные и сохраняет:
Попытка 
    Эксель=СоздатьОбъект("Excel.Application");
Исключение 
    Предупреждение("Excel на компьютере не установлен!"); 
    Возврат; 
КонецПопытки;
Книга=Эксель.Workbooks.Add();
Лист = Эксель.Sheets(1);
Лист.Cells(1,1).Value="333";
Эксель.DisplayAlerts = 0; //Если файл существует - перезаписываем
Лист.SaveAs("D:\Excel.xlsx");
Книга.Close();
Эксель.Quit();
Показать
2. griff19 14 26.01.12 08:39 Сейчас в теме
Подправил.
Все уже несколько месяцев работает замечательно...
3. navi 10.02.12 13:04 Сейчас в теме
Немного не по теме, вы случаем не знаете как из 1с в Эксэле задавать параметры ячейки (цвет, фон, линии, формула.... итп) просто переодически надо и нигде не нахожу, вот и решил спросить
4. griff19 14 11.02.12 19:02 Сейчас в теме
6. navi 13.02.12 13:44 Сейчас в теме
7. egoel 28.02.12 09:39 Сейчас в теме
Спасибо, познавательно.
Оставьте свое сообщение