Файл: Направление подготовки 09. 03.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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 будем сравнивать различные бесплатные библиотеки для работы с электронными таблицами. Платные решения не разбираются, так как они справляются со своими задачами, но имеют довольно внушительные цены.