Имя: Пароль:
1C
 
выгрузка из 1с в exl
0 Gadin_V
 
09.07.19
08:06
столкнулся с проблемой, когда сохраняю в эксель из 1с, слетают все заливки и цвета, кто сталкивался? как это делаю ниже.    

МассивТабличныхДокументов = Новый Массив();
    
    МассивТабличныхДокументов.Добавить(.................);
    МассивТабличныхДокументов.Добавить(.................);
    МассивТабличныхДокументов.Добавить(.................);
    МассивТабличныхДокументов.Добавить(.................);
    МассивТабличныхДокументов.Добавить(.................);

            
    
        ДиалогВыбораФайла=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
        ДиалогВыбораФайла.ПолноеИмяФайла = "";
        ДиалогВыбораФайла.Фильтр="Файлы Microsoft Excel (*.xls)|*.xls|Все файлы (*.*)|*.*";
        ДиалогВыбораФайла.МножественныйВыбор=Ложь;
        ДиалогВыбораФайла.ПроверятьСуществованиеФайла=Истина;
        Если Не ДиалогВыбораФайла.Выбрать() Тогда
            Возврат;
        КонецЕсли;

        Попытка
            xlsApp=ПолучитьCOMОбъект("","Excel.Application");
            xlsApp.DisplayAlerts = Ложь;
            КнигаExcel = xlsApp.WorkBooks.Add();
            ЛистExcel = КнигаExcel.WorkSheets(1);

            ЦветаЭкселя = КнигаExcel.Colors.Выгрузить();
        Исключение
            Предупреждение("Ошибка при получении объекта Excel. Возможно не установлен Microsoft Office.",15);
            Возврат;
        КонецПопытки;
        

        book = xlsApp.Workbooks.Add();
        delSheet = book.Sheets(1);
        СчетчикЛистов = 1;
        
        Для Каждого ТабДок из МассивТабличныхДокументов Цикл
            ИмяФайла=ПолучитьИмяВременногоФайла("xls");
            ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS);
            tempBook=xlsApp.Workbooks.Open(ИмяФайла);
            tempBook.Sheets(1).Name=ТабДок.Имя;
            СчетчикЛистов=СчетчикЛистов+1;
            tempBook.Sheets(1).Copy(delSheet);
            tempBook.Close(0);

            УдалитьФайлы(ИмяФайла);
        КонецЦикла;
        Попытка
            delSheet.Delete();
        Исключение
        КонецПопытки;
        
        book.SaveAs(ДиалогВыбораФайла.ПолноеИмяФайла,-4143);
        xlsApp.DisplayAlerts = 1;
        xlsApp.Workbooks.Close();
        xlsApp.Quit();
1 Мимохожий Однако
 
09.07.19
08:31
А сразу сделать нужную заливку цветов в табличных документах без подключения Excel через COM не пробовал?
2 Лодырь
 
09.07.19
08:41
3 Лодырь
 
09.07.19
08:42
Возможно у тебя палитра меняется
4 Gadin_V
 
09.07.19
09:36
(1) так я делаю заливку в тч, потом выгружаю в эксель и цвета не совпадают
5 Gadin_V
 
09.07.19
12:59
(3) именно так и происходит, в тч в 1с заливка зеленая, сохраняю в эксель, заливка фиолетовая
6 Лодырь
 
09.07.19
13:04
(5) Ну так скопируй ее. Зря что-ли ссылку скинул.