ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.03.2024
Просмотров: 15
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
« ХХ » ХХХ 202Х г.
Обучающийся | | | Иванов Иван Иванович |
| (подпись) | | И.О. Фамилия |
2.Технический отчет
Процесс автоматизации – неотъемлемая часть построения любой системы, начиная от отдельного человека и заканчивая целым заводом. Он сокращает время не только на решение рутинных задач, но и ставит производство на постоянный поток. Автоматизация помогает отдельным специалистам и заменяет целые отделы. При правильно построенном процессе автоматизации увеличивается производительность труда.
Данная работа показывает, как строится автоматизированная система подготовки таблицы учёта индивидуальной нагрузки преподавателей.
Существует проблема в долгой обработке данных. Она обусловлена несколькими факторами:
- большой объёмом входной информации – электронная таблица достигает в ширину 3 листа формата А4, что затрудняет первоначальное чтение и последующую обработку;
- закрепленные области – перекрывается большая часть информации на квадратных мониторах;
- неиспользуемые столбцы, лишняя информация при подготовке нового документа;
- каждый год меняется документ с представленной информацией (порядок столбцов и их названия, оформление).
При таких входных параметрах нужно разработать универсальное приложение по форматированию, обработке и копированию информации с графическим интерфейсом и минимальным участием пользователя в редактировании таблиц.
Чтобы достичь цели по уменьшению времени обработки документа, необходимо проанализировать формат электронных таблиц и сравнить скорость обработки информации при использовании различных инструментов.
1 АНАЛИТИЧЕСКИЙ РАЗБОР
При работе с электронными таблицами существует несколько вариантов решения задачи по отображению, фильтрации и последующему копированию информации из одной таблицы в другую:
- использование формул;
- написание макросов с помощью встроенного языка программирования Visual Basic for Applications (VBA) в MS Office Excel;
- написание макросов при помощи Visual Studio Tools for Office [1];
- надстройки с использованием JavaScript API [2];
- отдельный программный продукт.
В таблице 1.1 показаны плюсы и минусы каждого метода при решении задачи и используемые языки программирования (ЯП).
Таблица 1.1 – Сравнение методов
Метод | Ограничения | Преимущества | Недостатки | ЯП |
Формулы | Нет. Поддерживает любой офисный пакет | Быстрое получение результата. Лёгкое редактирование. Лёгкое освоение | Подходят при расчёте в рамках одной книги. Трудности при редактирования больших формул | - |
Макросы с помощью VBA в MS Office Excel | Только MS Office Excel как офисный пакет (без Excel Online) | Не требует средств разработки | Обязательное наличие MS Office Excel. Возможна несовместимость разных версий MS Office | VBA |
Макросы с помощью Visual Studio Tools for Office | Только MS Office Excel как офисный пакет (без Excel Online) | Позволяет использовать разные языки программирования | Недостатки аналогичны предыдущему методу | VBA C# С++ |
Надстройки Office Store | MS Office Excel: 2013, 2016, Online, for iPad | Есть магазин надстроек Office Store | Ограниченные возможности API | JavaScript |
Отдельный программный продукт | Не требует установки офисного пакета | Нет ограничений | Совместимость с форматами электронных таблиц. Время разработки | Любой |
1.1 Обзор аналогов
Рассмотрим примеры аналогов, исходя из методов обработки информации при копировании данных из одной электронной книги в другую.
В исходных данных есть два документа: таблица данных и шаблон. Таблица данных содержит большой объём информации и примеры реализации за последние два года. Оба документа различаются порядком столбцов, названием и форматированием. Шаблон имеет только исходное форматирование самой таблицы. В данном случае выбор склоняется в сторону универсальности.
Не рассматриваются макросы, формулы, скрипты, которые необходимо прописывать или редактировать под каждую таблицу. Только готовые решения.
Макросы VBA:
- Lookup [3] – не подходит, так как. работает по принципу функции ВПР в электронных таблицах.
Макросы Visual Studio Tools for Office:
- надстройка ЁXCEL [4]. Расширяет возможности Excel, но метод копирования данных из одной таблицы в другую требует полного совпадения всех столбцов (рисунок 1.1).
Рисунок 1.1 –Надстройки ЁXCEL
Надстройки в Office Store.
В магазине Office Store (рисунок 1.2) нет надстроек для копирования данных одной таблицы в другую. Большая часть является англоязычными дополнениями к MS Office Excel.
Рисунок 1.2 – Результаты поиска надстроек в Office Store
Отдельный программный продукт.
Ввиду огромных встроенных возможностей MS Office Excel сложно найти отдельный программный продукт для пользовательского применения. В основном используются парсеры данных или другие офисные пакеты со своими макросами.
Можно сделать вывод о том, что MS Office Excel – очень мощным инструментом для работы с электронными таблицами. Проще использовать его внутренние возможности, чем писать отдельный программный продукт. Также можно отметить платную лицензию и подписку, что является проблемой для установки на рабочую станцию данного программного продукта.
1.2 Постановка целей и задач
Цель – разработать автоматизированную систему, способную фильтровать и копировать значения из определённых столбцов одной электронной таблицы в другую.
Система должна иметь:
- максимальную совместимость форматов электронных таблиц;
- понятный пользовательский интерфейс.
Для достижения поставленной цели необходимо решить ряд задач:
- изучить форматы электронных таблиц;
- составить алгоритмы обработки данных;
- выбрать средства разработки;
- подготовить макет или представление данной системы;
- сделать программную реализацию (объединить все предыдущие пункты).
1.3 Выбор средств разработки
Особенностью выбора средств разработки является обработка больших объёмов данных и хорошая поддержка форматов электронных таблиц, так как. разные офисные пакеты по-разному отображают форматирование таблиц одного документа. На рисунке 1.3 показано, как отображается список листов в электронной книге в различных офисных пакетах. Отличия в представлении могут быть внутри одного программного продукта разной версии (например, MS Office 2007 и MS Office 2016). Это сказывается на точном воспроизведении визуальной части. Графическое отображение таблицы необходимо для предварительного просмотра. Вся часть, отвечающая за редактирование таблицы (фильтрация и копирование), будет реализована с помощью отдельного инструмента.
1) | 2) |
| |
3) | 4) |
| |
Рисунок 1.3 – Список листов в разных офисных пакетах:
1 – ONLYOFFICE; 2 – Google Таблицы;
3 – Apache OpenOffice Электронная таблица; 4 – MS Office Excel 2016
Исключаем разработку на тех языках программирования, на которых не было опыта написания программ, так как. будет потрачено время на изучение их особенностей. Исключение составит C# – это С-подобный язык.
Ещё один немаловажный критерий: решение должно работать без участия дополнительного ПО, офисных пакетов (MS Office Excel) или облачных сервисов (Google Docs).
Не станем использовать макросы. Они не работают на многих офисных пакетах, а также продуктах Microsoft в MS Office Start и Office Online.
Надстройки Office Store работают только в офисных пакетах Microsoft, начиная с MS Office 2013 и Office365, и тоже накладывают ограничения на выбор средств разработки.
Pascal / Lazarus.
В среде разработки программного обеспечения Lazarus имеется готовая библиотека FPSpreadsheet [5]. Демонстрацию её возможностей можно увидеть на рисунке 1.4.
Рисунок 1.4 – Пример возможности библиотеки FPSpreadsheet в Lazarus
Возможности библиотеки очень широкие: от чтения разных форматов электронных таблиц до визуального представления и редактирования файла. Данная библиотека хорошо показала себя при работе с шаблоном (открытие, изменение и сохранение). При работе с таблицей данных библиотека задействует все ресурсы компьютера: после нескольких секунд ПК перестаёт отвечать на команды. Файл оказался для неё тяжёлым.
PHP.
При обработке больших объёмов данных лучше использовать сторонние ресурсы в виде сервера. Один из распространённых серверных языков программирования – PHP. При тестировании была выбрана популярная библиотека для обработки электронных таблиц PhpSpreadsheet [6]. Она позволяет открывать, редактировать и сохранять разные форматы электронных таблиц. Но при открытии файлов с данными и прогоне по всем листам электронной таблицы получаем ошибку, что индекс выходит за область допустимых значений.
Очень хорошо себя показала библиотека spreadsheet-reader, но её недостатком является чтение файлов без возможности редактирования.
JavaScript.
Это один из очевидных выборов из-за быстрого развития Node.js и облачных решений в виде Office Online, Google Docs, ONLY OFFICE.
Доступным решением является библиотека SheetJS [7]. На демонстрационной версии (рисунок 1.5) можно наблюдать отсутствие форматирования таблицы, что будет критичным при разработке интуитивного интерфейса. Ещё один большой недостаток – медленная работа при больших файлах, особенно при просмотре представленной электронной таблицы за последний год.
Рисунок 1.5 – Обзор библиотеки SheetJS
Python.
Ситуация повторилась такая же, как и с PHP. Главное отличие состояло в том, что была возможность использовать фреймворк Qt для разработки графической части приложения.
C# / .NET.
В таблице 1.2 будем сравнивать различные бесплатные библиотеки для работы с электронными таблицами. Платные решения не разбираются, так как они справляются со своими задачами, но имеют довольно внушительные цены.