ПРОБЛЕМА: Как автоматизировать форматирование файлов Excel, экспортируемых из Moodle?

ПРОБЛЕМА: Как автоматизировать форматирование файлов Excel, экспортируемых из Moodle?

от Alexandre Scherbyna -
Количество ответов: 5

Обычно приходится немало потрудиться, чтобы придать божеский вид файлу, экспортированному из Moodle в Excel. Не все преподаватели умеют форматировать файлы Excel. А если и умеют, то все равно их времени и труда жалко. Как бы автоматизировать этот процесс?

Первое, что приходит на ум, – это создать макрос, выполняющий такое форматирование. Хотя мне, например, не совсем ясно как создать макрос, если количество сток/столбцов в файле Excel непостоянно.

Ну, предположим, макрос создан. Однако чтобы его скачать и применить к экспортированному файлу, тоже немало манипуляций потребуется выполнить. Как бы все это свести к минимуму? А может тут не макрос нужен, а что-то другое?

Поделитесь идеями, господа форумчане.
В ответ на Alexandre Scherbyna

Re: ПРОБЛЕМА: Как автоматизировать форматирование файлов Excel, экспортируемых из Moodle?

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
Библиотека экспорта таблиц в Excel, используемая в Moodle универсальна: она может преобразовать в таблицу любой массив данных. За это приходится "платить" отсутствием форматирования: библиотеке никто не "сообщил", что какую колонку форматировать каким образом.

Выходов несколько:
A. Попытаться улучшить библиотеку, добавив алгоритмы анализа данных, для автоматического подбора формата колонок. (если получится хорошо - можно "протолкнуть" в апстрим)
B. Написать отдельную функцию преобразования в эксель для данного случая, явно задающую форматирование (потребуется программирование, сделать недолго, но в апстрим врядли примут).
B' - Использовать библиотеку преобразования в OpenOffice Calc из проекта Free Dean's Office (потребуется установить модуль Free Dean's Office и небольшое программирование, зато форму документа можно задать любую, включив в документ корпоративный бланк, необходимые реквизиты, шапку и подвал).
В ответ на Alex Djachenko

Re: ПРОБЛЕМА: Как автоматизировать форматирование файлов Excel, экспортируемых из Moodle?

от Alexandre Scherbyna -
Если реализовать пункт В’, то какие действия должен будет выполнить преподаватель, чтобы получить из Moodle отформатированный отчет?
«Небольшое программирование» понадобится для каждого отчета свое или программа плюс шаблоны форматирования для каждого из отчетов?
Где и в каком виде эта программа и шаблоны будут храниться?
В ответ на Alex Djachenko

Re: ПРОБЛЕМА: Как автоматизировать форматирование файлов Excel, экспортируемых из Moodle?

от Alexandre Scherbyna -

Разрешите, Алексей, несколько уточнить, что меня интересует, и задать Вам еще один вопрос. В п. А Вы предлагаете универсальное и, безусловно, полезное решение для всех формируемых в Moodle отчетов. Но меня больше интересует форматирование, учитывающее специфику каждого конкретного отчета.

Как известно, в Excel и Word любой новый документ всегда создается на основе некоторого шаблона (xlt и dot), который задает его начальное форматирование: тип и размер шрифта и т.п.

Поскольку Вы знаете, как в Moodle происходит создание документа Excel, то не скажите ли, насколько сложно заменить используемый там шаблон другим шаблоном, ссылка на который в идеале должна храниться в параметрах этого отчета?

И еще, насколько сложно при создании документа внедрить в него макрос? Дело в том, что для некоторых вещей один шаблон не поможет. Например, в списке студентов указывается сначала имя, потом фамилия. С помощью макроса можно будет поменять их местами и выполнить остальное форматирование.

В ответ на Alexandre Scherbyna

Re: ПРОБЛЕМА: Как автоматизировать форматирование файлов Excel, экспортируемых из Moodle?

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
> Поскольку Вы знаете, как в Moodle происходит создание документа Excel, то не скажите ли, насколько сложно заменить используемый там шаблон другим шаблоном, ссылка на который в идеале должна храниться в параметрах этого отчета?

Для создания XLS в Moodle используется класс MoodleExcelWorkbook, который объявляется в файле /lib/excellib.class.php на базе библиотеки Spreadsheet_Excel_Writer из комплекта PEAR (http://pear.php.net).

Библиотека позволяет создавать таблицу, заполняя ее ячейки данными и задавая их формат: тип данных, цвет, дополнительные параметры.
Соответственно, все что можно сделать этим инструментарием - возможно. Функций для добавления макросов не видел - посмотрите библиотеку, если там не найдете, посмотрите документацию к базовой библиотеке на сайте pear.

Что касается библиотеки, встроенный в Free Dean's Office, она работает по другому:
  • Вы делаете шаблон в Open Office (или в MS, если есть плагин для сохранения в Open Office - такой плагин можно скачать где-то на сайте SUN).
  • Немного редактируете исходный шаблон, чтобы указать библиотеке, где нужно вставлять переменные (на docs.deansoffice.ru есть инструкция, а в комплекте есть работающий пример).
  • Создаете плагин FDO (есть инструкция и пример - в общем-то все сводится к копированию примера и небольшой правке имен методов).
  • Описываете в плагине логику сбора данных для нужного документа - это бОльшая часть затрат времени.
  • Высызываете библиотеку, которая вставляет данные в шаблон.
Для пользователя все может выглядеть, например, как ссылка, содержащия в себе параметры (например, id курса), кликнув по которой скачивается документ Open Office.