| 
    
            
         
         | 
    
  | 
Работа с Excel в scloud.ru | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        bvb    
     08.07.24 
            ✎
    14:16 
 | 
         
        Хочу прочитать лист в Экзель для загрузки
 
        Открываю Экзель через COM объект Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(СокрЛП(ПутьКФайлуЗагрузкиExcel)); Excel.Sheets(1).Select(); Получаю : COM-объекты поддерживается только в операционных системах Windows Как читать эксель на данном облачном сервисе ?  | 
|||
| 
    1
    
        Prog_man    
     08.07.24 
            ✎
    14:18 
 | 
         
        (0) пробуй через Табличный документ     
         | 
|||
| 
    2
    
        Kongo2019    
     08.07.24 
            ✎
    14:18 
 | 
         
        Работать как с файлом. Через хранилище и построитель.     
         | 
|||
| 
    3
    
        Волшебник    
     08.07.24 
            ✎
    14:21 
 | 
         
        Не Экзель, а Иксэл...     
         | 
|||
| 
    4
    
        bvb    
     08.07.24 
            ✎
    14:27 
 | 
         
        (2) Можно ссылку на пример. Нет времени на поиски 
 
        (3) Так говорил наш бывший финдир. Мне нравится - запало в мемориз  | 
|||
| 
    5
    
        Kongo2019    
     08.07.24 
            ✎
    14:29 
 | 
||||
| 
    6
    
        Волшебник    
     08.07.24 
            ✎
    14:31 
 | 
         
        (4) >> Можно ссылку на пример. Нет времени на поиски
 
        Это, знаете ли, не очень вежливо. ТабличныйДокумент.Прочитать(...)  | 
|||
| 
    7
    
        Мультук    
     08.07.24 
            ✎
    14:44 
 | 
         
        (0) 
 
        Загугли по фразе "Хочу прочитать лист в Экзель 1С" Способы 1 и 2 https://ironskills.by/tpost/dgg1j0v4k1-kak-prochitat-excel-v-1s-4-sposoba  | 
|||
| 
    8
    
        Builder    
     08.07.24 
            ✎
    14:48 
 | 
         
        (3) У нас дежурная шутка после одной сотрудницы - "икзель" :)     
         | 
|||
| 
    9
    
        bvb    
     08.07.24 
            ✎
    16:30 
 | 
         
        Получилось
 
        &НаСервере Функция ПрочитатьExcel_ПостроительЗапроса(ПутьКФайлуЗагрузкиExcel) ТабДок = Новый ТабличныйДокумент; ФайлExcel = Новый Файл (ПутьКФайлуЗагрузкиExcel); Если ФайлExcel.Существует() Тогда ТабДок.Прочитать(ПутьКФайлуЗагрузкиExcel); Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область()); Построитель.ЗаполнитьНастройки(); Построитель.Выполнить(); ТаблицаИзExcel = Построитель.Результат.Выгрузить(); Иначе Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось прочитать файл по причине: " + " файл не найден"; Сообщение.Сообщить(); Возврат Неопределено; КонецЕсли; Возврат ТаблицаИзExcel ; КонецФункции  | 
|||
| 
    10
    
        bvb    
     08.07.24 
            ✎
    16:35 
 | 
         
        тепреь другая беда : на сервере scloud обработка не видит файл.
 
        На других серверах все работает Там путь подключен как виртуальный диск и при задании пути относительно виртуального доска файл не видится  | 
|||
| 
    11
    
        Мультук    
     08.07.24 
            ✎
    17:03 
 | 
         
        (10) 
 
        Файл вы конечно с клиента на сервере не передаёте? Если файл не гигабайты то медленно и печально гуглим: 1С передача файла с клиента на сервер  | 
|||
| 
    12
    
        bvb    
     08.07.24 
            ✎
    17:34 
 | 
         
        (11) Спасибо ошибку осознал.
 
        Ранее либо эксель читал на клиенте, либо сревер видел ресурс с файлом  | 
|||
| 
    13
    
        bvb    
     08.07.24 
            ✎
    17:37 
 | 
         
        Вот может пригодитьсякому :
 
        &НаКлиенте Процедура ПрочитатьExcelВТЗ(Команда) ОбработкаОкончанияПомещения = Новый ОписаниеОповещения ("ОбработчикОкончанияПомещения", ЭтотОбъект); НачатьПомещениеФайла(ОбработкаОкончанияПомещения, , ПутьЗагрузки, Ложь, ЭтотОбъект.УникальныйИдентификатор); //ПрочитатьExcelВТЗНаСервере(); КонецПроцедуры &НаКлиенте Процедура ОбработчикОкончанияПомещения(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт Если Результат Тогда //Сообщить(Адрес); ПрочитатьExcelВТЗНаСервере(Адрес); //Вызов модуля обработки помещенного файла на сервере Иначе Сообщить("Файл не был помещен."); КонецЕсли КонецПроцедуры  | 
|||
| 
    14
    
        bvb    
     08.07.24 
            ✎
    17:37 
 | 
         
        &НаСервере
 
        Процедура ПрочитатьExcelВТЗНаСервере(ПутьКФайлуЗагрузкиExcel) ВремТЗ = ПрочитатьExcel_ПостроительЗапроса (ПутьКФайлуЗагрузкиExcel); Если ТипЗнч(ВремТЗ) = Тип("ТаблицаЗначений") Тогда ЗагрузитьТЗВТЧ (ВремТЗ); КонецЕсли КонецПроцедуры Функция ПрочитатьExcel_ПостроительЗапроса(ПутьКФайлуЗагрузкиExcel) ТабДок = Новый ТабличныйДокумент; ФайлВременногоХранилища=ПолучитьИзВременногоХранилища(ПутьКФайлуЗагрузкиExcel); ИмяФайла=ПолучитьИмяВременногоФайла("xlsx"); ФайлВременногоХранилища.Записать(ИмяФайла); УдалитьИзВременногоХранилища(ПутьКФайлуЗагрузкиExcel); ФайлExcel = Новый Файл (ИмяФайла); Если ФайлExcel.Существует() Тогда ТабДок.Прочитать(ИмяФайла); Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область()); Построитель.ЗаполнитьНастройки(); Построитель.Выполнить(); ТаблицаИзExcel = Построитель.Результат.Выгрузить();  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |