|
Работа с 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 = Построитель.Результат.Выгрузить(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |