Сохранение табличного документа с группировками и фото в Excel



Стандартное сохранение табличного документа с группировками и фото из 1С в файл Excel может не давать желаемого результата. Приводится пример программного сохранения файла с установкой определенного уровня группировок и изменением свойств изображений содержащихся в файле.

Как-то раз потребовалось сохранять отчет о продажах по магазинам с фото, но натолкнулся на такие особенности сохранения из 1С:

Так, при сохранении файла картинки имели свойства «перемещать, но не изменять размеры», а для работы с группировками требовался режим «перемещать и изменять объект вместе с ячейками», в установленной версии программы Excel глобальных настроек на эту тему я не нашел.

Встал вопрос о программной реализации, в результате решения которого было определено два возможных пути: первый — работа с макросами (в момент открытия файла) на стороне клиента; второй — внесение изменений в файл (в момент его сохранения) на стороне сервера. Как говорится, «сколько людей, столько и мнений», мной был выбран вариант, наиболее подходящий в моей ситуации.

Приводится пример программного сохранения файла с установкой определенного уровня группировок и изменением свойств изображений, содержащихся в файле.

ФайлНаДиске = "C:UsersDesktop
eport.xlsx";       //полный путь к обрабатываемому файлу
Excel = Новый COMОбъект("Excel.Application");       //инициализация COM-объекта
Книга = Excel.WorkBooks.Open(СокрЛП(ФайлНаДиске));  //открываем книгу
ExcelSheet = Excel.Sheets(1);                       //инициализируем лист книги
Книга.Password = Строка(Пароль);                    //устанавливаем пароль на книгу
ExcelSheet.DrawingObjects.Placement = 1;            //устанавливаем режим "ИЗМЕНЕНИЯ РАЗМЕРА ОБЪЕКТОВ ВМЕСТЕ С ЯЧЕЙКАМИ"
ExcelSheet.Outline.ShowLevels(2);                   //сворачиваем группировки
Книга.Save();                                       //пересохраняем документ
Excel.Application.Quit();                           //выходим из приложения

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *