четверг, 17 мая 2018 г.

Группировка данных в файле Excel из 1С 7.7

Задача: Есть файл Excel необходимо добавить в него структуру из 1С.


Заголовок           
<
    <    Проверка 1   
        - строка 1
        - строка 2
    >       
    <    Проверка 2   
        - строка 1
        - строка 2
    >       
>      
     


Решение:

Эксель = СоздатьОбъект("Excel.Application");
ПутьКФайлу = "e:\test\test.xls";
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
Лист = Книга.WorkSheets(1);
Лист.UsedRange.ClearOutline();   // убираем все группировки на листе
КоличествоСтрок = Лист.UsedRange.Rows.Count;
Для кол=1 По 2 Цикл        // разметка у нас в 1 и 2-й колонке
    Для стр=3 По КоличествоСтрок Цикл    // 1 и 2 строка заголовки, пропускаем
        зн = СокрЛП( Лист.Cells(стр, кол).Value );
        Если зн="<" Тогда                // начало группы
            старт = СокрЛП(стр+1);
        КонецЕсли;
        Если зн=">" Тогда                // конец группы
            финиш = СокрЛП(стр - 1);
            Лист.Rows(старт+":"+финиш).Group();
        КонецЕсли;
    КонецЦикла;
КонецЦикла;
 

Лист.Outline.ShowLevels(1);    // свернём

Эксель.ActiveWorkbook.Save();
Эксель.ActiveWorkbook.Close();
Эксель.Quit();
Эксель = "";   


По мотивам:
https://www.planetaexcel.ru/techniques/9/47/
http://vip1c.ru/page/1s-i-excel-tablica-funkcij-excel-dostupnyh-iz-1s
http://citforum.ru/programming/windows/excel_faq/part2.shtml#2.22
http://exp-1c.narod.ru/articles/articl01.htm