|   |   | 
| 
 | Программно вставить HTML в табличный документ | ☑ | ||
|---|---|---|---|---|
| 0
    
        TormozIT гуру 24.07.22✎ 20:48 | 
        Если скопировать в буфер обмена любую HTML страницу, выделить в табличном документе 1С первую ячейку и вставить из буфера, то текст HTML страницы и главное ее таблицы неплохо располагаются в табличном документе.
 Хочу сделать это же программно. Например тут много таблиц https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average | |||
| 1
    
        ДедМорроз 24.07.22✎ 21:11 | 
        Так там не html вставляется,а форматмрованный документ.     | |||
| 2
    
        TormozIT гуру 24.07.22✎ 21:13 | 
        (1) Ну называй как хочешь. В Excel кстати работает аналогично, но там и из файла html можно загружать (импортировать).     | |||
| 3
    
        ДедМорроз 24.07.22✎ 21:15 | 
        На скмом деле,можно в буфер обмена rtf записать и вставить из буфера.
 Почти все приложения rtf умеют вставлять. | |||
| 4
    
        ДедМорроз 24.07.22✎ 21:17 | 
        Можно попробовать результат сериализовать и посмотреть,восстановится ли он обратно.     | |||
| 5
    
        Кура-Цеце 24.07.22✎ 21:26 | 
        Если всё по честному и только на 1С, то html -> xml -> zip -> xlsx -> Табличный документ -> Вставить.
 Если химичить, то внешняя компонента, которая кладет в буфер обмена данные в нужном формате и вставляет. Ну ты ж клипангел писал, в курсе. | |||
| 6
    
        ДедМорроз 24.07.22✎ 21:40 | 
        Табличный документ сериализуется.     | |||
| 7
    
        Кура-Цеце 24.07.22✎ 21:46 | 
        Во что?     | |||
| 8
    
        Кура-Цеце 24.07.22✎ 21:48 | 
        О, точно, его в {http://v8.1c.ru/8.2/data/spreadsheet}SpreadsheetDocument можно.
 А дальше как? (: | |||
| 9
    
        Кура-Цеце 24.07.22✎ 21:49 | 
        Имитировать вставку через исправление XML?     | |||
| 10
    
        Кура-Цеце 24.07.22✎ 21:58 | 
        Или html -> xml -> Табличный документ -> Вставить ?     | |||
| 11
    
        ДедМорроз 24.07.22✎ 22:03 | 
        В xml можно вставить что угодно,а потом обратно десериализовать     | |||
| 12
    
        TormozIT гуру 24.07.22✎ 22:59 | 
        Получилось через COM EXCEL так 
 ИмяФайла = "C:\TerminalDisk\example.html"; ИмяФайлаТаблицы = ПолучитьИмяВременногоФайла("xls"); Эксель = Новый COMОбъект("Excel.Application"); Книга = Эксель.WorkBooks.Open(ИмяФайла); Книга.SaveAs(ИмяФайлаТаблицы, 56); Книга.Close(); Эксель.Quit(); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.Прочитать(ИмяФайлаТаблицы); | |||
| 13
    
        TormozIT гуру 26.07.22✎ 07:56 | 
        (12) Не всегда работал. Переделал на более всеядный xlsx
 ИмяФайла = "C:\TerminalDisk\example.html"; ИмяФайлаТаблицы = ПолучитьИмяВременногоФайла("xlsx"); Эксель = Новый COMОбъект("Excel.Application"); Книга = Эксель.WorkBooks.Open(ИмяФайла); Книга.SaveAs(ИмяФайлаТаблицы, 51); Книга.Close(); Эксель.Quit(); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.Прочитать(ИмяФайлаТаблицы); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |