|
v7: Как через Йоксель загрузить в ТЗ определённый Лист Ексель? | ☑ | ||
---|---|---|---|---|
0
evgpinsk_
06.11.23
✎
20:12
|
Собственно вопрос в теме:
Как через Йоксель загрузить в ТЗ определённый Лист Ексель? простой код читает первый лсит: Конвертер = СоздатьОбъект("Йоксель.КонвертерВТаблицуЗначений"); Конвертер.УстановитьДокумент(Таб); ТЗ = Конвертер.Загрузить(); Как прописать чтение определённого листа? п.с. гугл не помог ( |
|||
1
Злопчинский
06.11.23
✎
21:49
|
там есть получение списка листов и чтение листа.
на родном сайте вроде ж все есть, в т.ч. и демо конфига |
|||
2
Злопчинский
06.11.23
✎
21:58
|
//*********************************************************
// ОткрытьКнигу() // Возвращаемое значение: Нет // Описание: получает список листов Процедура ОткрытьКнигу() Конвертер = СоздатьОбъект("КонвертерExcel"); Листы = Конвертер.Открыть(ВыбФайл).Листы; ТЗЛисты.УдалитьСтроки (); КолвоЛистов = Листы.Количество(); Для ы = 1 По КолвоЛистов Цикл Лист = Листы.Получить(ы); Если Лист.Тип <> 0 Тогда Продолжить; КонецЕсли; ТЗЛисты.НоваяСтрока (); ТЗЛисты.Лист = Лист.Имя; КонецЦикла; Форма.рЛисты.Заголовок(" всего: "+ТЗЛисты.КоличествоСтрок()+" листов "); Попытка ТЗЛисты.ТекущаяСтрока(1); Исключение КонецПопытки; ПриВыбореЛиста(); КонецПроцедуры //ОткрытьКнигу() |
|||
3
Злопчинский
06.11.23
✎
21:59
|
//*********************************************************
Процедура кнПросмотрЛиста() Если ТЗЛисты.КоличествоСтрок()=0 Тогда Предупреждение("Не выбран файл данных! ",20); Возврат; КонецЕсли; Конвертер = СоздатьОбъект ("КонвертерExcel"); Документ = Конвертер.Открыть(ВыбФайл).ЗагрузитьЛист(ТЗЛисты.Лист); Фрейм = Документ.Показать("просмотр листа: "+ТЗЛисты.Лист); Фрейм.ВыводСетки(1); Конвертер = ""; Документ = ""; КонецПроцедуры //кнПросмотрЛиста() |
|||
4
Злопчинский
06.11.23
✎
22:00
|
ОчиститьОкноСообщений();
Сообщить(ТекущееВремя()+": Начало процедуры загрузки данных"); Сообщить(ТекущееВремя()+": чтение данных листа <"+ТЗЛисты.Лист+"> файла <"+ВыбФайл+">"); Конвертер = СоздатьОбъект ("КонвертерExcel"); гКнига = Конвертер.Открыть(ВыбФайл); Документ = гКнига.ЗагрузитьЛист(ТЗЛисты.Лист); Сообщить(ТекущееВремя()+": преобразование данных в таблицу..."); Конвертер = СоздатьОбъект ("Йоксель.КонвертерВТаблицуЗначений"); Конвертер.УстановитьДокумент(Документ); Конвертер.ОпределятьСтруктуру = 0; Конвертер.ПроверятьСтруктуру = 0; Конвертер.СтрокДляОпределенияСтруктуры = 15; ТЗ = Конвертер.Загрузить(); |
|||
5
ЯнСмит
07.11.23
✎
10:20
|
Ну нафиг Йоксель, как-то не зашел совсем в свое время, всю жизнь использую компоненту xls21c там это вместо здрасьте )
|
|||
6
evgpinsk_
07.11.23
✎
11:38
|
Я что-то туплю, пытаюсь разобраться. В примере выше (3) ексель файл читается в "ТабличныйДокумент" ёкселя через объект "КонвертерЕксель".
В моём исходном коде (0) я использую объект Таб = СоздатьОбъект ("ТабличныйДокумент"); и через метод Открыть - открываю екселевский файл. Я правильно понимаю, что объект ТабличныйДокумент может открыть только первый лист файла ексель? И указать ему какой лист открывать нет возможности? |
|||
7
evgpinsk_
07.11.23
✎
11:54
|
И не пойму, а ТабличныйДокумент ёкселя выгрузить в ТаблицуЗначений 1с нельзя?
Можно только в другую сторону - читать из ТаблицыЗначений? |
|||
8
Злопчинский
07.11.23
✎
13:04
|
(6) что тебе не подходить в (4)...?
|
|||
9
Злопчинский
07.11.23
✎
13:12
|
(7) Йоксель.КонвертерВТаблицуЗначений
Конвертер !!!!табличных документов!!! Йокселя в таблицу значений. . Эксель открывается в ТабличныйДокумент (аналог мокселя). табличный документ можно конвертировать в ТЗ |
|||
10
Злопчинский
07.11.23
✎
13:13
|
||||
11
evgpinsk_
07.11.23
✎
14:13
|
(8) Весь код существующий расписан через использование внутренних Таблиц 1с. Не хочется его переделывать /многовато кода/.
|
|||
12
evgpinsk_
07.11.23
✎
14:19
|
(9) Я в (0) и пишу что я использую этот объект Йоксель.КонвертерВТаблицуЗначений.
И один из двух вопрос мой был в том, как с помощью этого объекта прочитать конкретный лист ексель /я не нашёл такой метод/ у объекта Йоксель.КонвертерВТаблицуЗначений. И второй вопрос был чуть позже, как "табличный документ можно конвертировать в ТЗ" я не нашёл такой метод на сайте ёкселя |
|||
13
Злопчинский
07.11.23
✎
14:34
|
(11) что переделывать? На выходе использования йокселя получаешь ТЗ. Всё.
|
|||
14
Злопчинский
07.11.23
✎
14:53
|
(12) ну почитай Доку.
. Йоксель.КонвертерВТаблицуЗначений Конвертирует табличный документ в ТЗ. Это ответ на 2 вопрос. Табличный документ к экселю отношения не имеет. Соответственно ответ на 1 вопрос - никак. . Используйте термин йоксель. А не ëксель. |
|||
15
Злопчинский
07.11.23
✎
14:53
|
Для решения твоей задачи для получения произвольного листа экселя - используй методы работы с экселем: ("КонвертерExcel")
С его помощью можешь получить перечень л стов и загружать произвольный лист В ТАБЛИЧНЫЙ ДОКУМЕНТ. А дальше см предыдущий пост - конвертируй тд, который не имеет ни какого отношения к экселю, в ТЗ. |
|||
16
Злопчинский
07.11.23
✎
14:59
|
Конвертер1 = СоздатьОбъект ("КонвертерExcel");
гКнига = Конвертер1.Открыть(ВыбФайл); ТД = гКнига.ЗагрузитьЛист(тутимялиста); Конвертер2 = СоздатьОбъект ("Йоксель.КонвертерВТаблицуЗначений"); Конвертер2.УстановитьДокумент(ТД) //тут настройки конвертера ТЗ = Конвертер2.Загрузить(); |
|||
17
Злопчинский
07.11.23
✎
15:03
|
Конвертер2.УстановитьДокумент(Конвертер1.Открыть(ВыбФайл).ЗагрузитьЛист(ИмяЛиста));
|
|||
18
Злопчинский
07.11.23
✎
15:22
|
(5) если не влом положи скачать и Доку если есть или пример с методаии
|
|||
19
evgpinsk_
07.11.23
✎
16:42
|
(15) Спс, разобрался
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |