Автоматизированный перенос данных из формата Microsoft Excel 97-2003 и Excel 2007 в базу данных MySQL

Автоматизация процесса разбора данных файла с расписанием занятий Института Естественных наук и Биомедицины САФУ. Перенос данных из таблицы, содержащей расписание института в базу данных, находящуюся на вэб-сервере. Написание алгоритма работы приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 27.07.2013
Размер файла 355,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

16

Размещено на http://www.allbest.ru/

Кафедра Информатики, ВТ и МПИ

КОНТРОЛЬНАЯ РАБОТА

По дисциплине Мультимедиа-технологии

На тему Автоматизированный перенос данных из формата Microsoft Excel 97-2003 и Excel 2007 в базу данных MySQL

ОГЛАВЛЕНИЕ

  • ВВЕДЕНИЕ
  • 1. ПРОБЛЕМНАЯ ОБЛАСТЬ
  • 2. ПОСТАНОВКА ЗАДАЧИ
  • 3. АНАЛИЗ ИСХОДНЫХ ДАННЫХ
    • 3.1 Общие сведения о форматах файлов .xls и .xlsx
    • 3.2 Данные, содержащиеся в исходном файле
  • 4. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
  • 5. АЛГОРИТМ РАБОТЫ ПРИЛОЖЕНИЯ
  • 6. РЕАЛИЗАЦИЯ АЛГОРИТМА
  • 7. ТЕСТИРОВАНИЕ И ОТЛАДКА
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

Формат файлов Excel является широко используемым форматом хранения табличной информации. На данный момент наиболее широко применяется формат .xls, применяющийся в программных пакетах Microsoft Excel 97-2003. Более простым, но менее распространённым в силу своей новизны является формат .xlsx, применяемый в Microsoft Excel, начиная с версии 2007.

Целью работы является автоматизация процесса разбора данных файла с расписанием занятий Института Естественных Наук и Биомедицины САФУ (образец файла находится см. в прикрепленных файлах). Необходимо считать данные из файла и перенести их в базу данных MySQL.

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

Для простоты разработки приложения в качестве локального сервера используется Denwer, языком, на котором разработано предлагаемое решение, является PHP, для ускорения процесса разработки приложения использована библиотека PHPExcel, доработанная для решения поставленной задачи.

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

1. ПРОБЛЕМНАЯ ОБЛАСТЬ

Один раз в неделю для Института Естественных Наук и Биомедицины составляется расписание, сохраняемое в формате таблиц Excel. Для переноса на сайт института данные из таблицы на данный момент обрабатываются вручную. Поскольку на данный момент расписание составляется для тридцать одной группы, перенос данных занимает длительное время. Объектом курсовой работы являются форматы файлов .xls и .xlsx, а также средства, предназначенные для чтения и обработки их текстового содержимого в среде вэб-сервера. Предметом выполненной работы является перенос данных из таблицы, содержащей расписание института в базу данных, находящуюся на вэб-сервере.

2. ПОСТАНОВКА ЗАДАЧИ

Необходимо создать приложение, работающее на локальном вэб-сервере, написанное на языке программирования PHP. Приложение должно осуществлять корректный перенос данных из файла формата .xls или .xlsx в базу данных MySQL вэб-сервера.

Для создания данного приложения необходимо выполнить этапы:

- Анализ исходных данных

- Проектирование базы данных в соответствии с исходными данными

- Написание алгоритма работы приложения

- Реализация алгоритма

3. АНАЛИЗ ИСХОДНЫХ ДАННЫХ

3.1 Общие сведения о форматах файлов .xls и .xlsx

автоматизация занятие сервер база

Несмотря на то, что формат .xls является закрытым, сведения о структуре формата можно найти в открытом доступе. Начиная с версии формата Excel 7.0, данные таблиц и листов хранятся в BIFF8 (Binary Interchange File Format) формате, инкапсулированные в контейнер OLE2. OLE файл состоит из так называемых виртуальных потоков. Виртуальный поток - это данные, которые читаются как линейный поток, хотя их физическое расположение в файле может быть фрагментировано. Это могут быть данные пользователя или структуры, контролирующие работу файла.

OLE файл построен как файловая система. Все пространство файла разбито на сектора. Размер сектора определяется при создании файла и, как правило, равен 512 байтам. Виртуальный поток состоит из последовательности секторов. Сектора нумеруются от -1 (Header) с шагом 1. Почти все переменные ссылаются на номер сектора, а не на смещение.

BIFF структура представляет собой подряд идущие записи. Все записи имеют следующий общий формат: ID (2 байта), Размер данных, sz (2 байта), Данные (sz байт)

Первые 4 байта (ID и размер) - это заголовок записи. Размер записи не включает размер заголовка. Все данные записываются в Intel-нотации.

Есть много стандартных записей Excel. Каждая внутри (секция данных) имеет свой определенный формат. Записи могут группироваться в потоки. Ограничителем групп служат 2 специальные записи: BOF (Begin Of File) и EOF (End Of File).

Формат файла .xlsx основан на Open XML и методе сжатия ZIP, что существенно облегчает работу с форматом. После распаковки архива, наибольший интерес представляет директория /xl/worksheets/, файлы /xl/sharedStrings.xml, /xl/workbook.xml.

В файле /xl/workbook.xml хранится описание листов, в файле xl/sharedStrings.xml содержатся текстовые данные из ячеек исходного документа со всех листов. В директории /xl/worksheets/ содержатся xml файлы, содержащие описание данных листов.

3.2 Данные, содержащиеся в исходном файле

Исходный файл содержит один лист, содержащий расписание института Естественных Наук и Биомедицины. Первая строка таблицы содержит номер курса и все группы с номерами специальностей. Вторая строка содержит номера групп и указание подгруппы.

Столбцы, нахдящиеся непосредственно под номером курса содержат дни недели, число и порядковые номера занятий в расписании. Далее идут столбцы, находящиеся под ячейками, содержащими номера групп и подгрупп, содержащие название проводимого занятия, ФИО преподавателя и, иногда, номер аудитории.

Ячейки таблицы, содержащие наименование занятий, проводимых совместно у нескольких групп, объединяются горизонтально в одну. Ячейки, содержащие события, занимающие длительное время, например сессия или каникулы, объединяются вертикально (см. Рисунок 1).

Рисунок 1 - Пример исходных данных

4. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

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

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

Исходя из данных, перечисленных выше, можно выявить следующие сущности, которые необходимо реализовать в виде отдельных таблиц базы данных:

- Курсы

- Группы (наименования специальностей)

- Номер группы и подгруппы

- Расписание для группы (подгруппы), содержащее поля, в которых записаны занятия, преподаватели, которые их проводят, номера аудиторий, номер занятия

5. АЛГОРИТМ РАБОТЫ ПРИЛОЖЕНИЯ

Алгоритм работы приложения изображён на рисунке 2.

Рисунок 2 - Алгоритм работы приложения

6. РЕАЛИЗАЦИЯ АЛГОРИТМА

Для реализации алгоритма была взята за основу PHP библиотека PHPExcel, где реализованы базовые функции извлечения данных обоих форматов файлов (.xls и .xlsx), такие как чтение OLE, разбор записей в BIFF, выбор данных из конкретных строк и ячеек таблицы. Таким образом, реализация самого алгоритма сводится к написанию загрузчика файлов на локальный сервер и разбору данных из массива с последующим внесением данных в локальную БД. Для выбора загружаемого и загрузки его на сервер файла используется javascript.

Рисунок 3 - Исходный код формы загрузки файла.

Далее, тремя вложенными циклами, перебираем дни недели расписания, имена групп, занятия групп, основываясь на том, что ежедневно в расписании стоит до 7 учебных занятий, каждая колонка с расписанием для подгруппы занимает 5 объединённых по ширине ячеек, ячейки, выделенные под описание одного занятия могут содержать наименование занятия, ФИО преподавателя и номер учебной аудитории. Полученные таким образом данные формируются в запрос, добавляющий данные в БД.

7. ТЕСТИРОВАНИЕ И ОТЛАДКА

При отладке приложения выяснилось, что в разных частях документа, наименование предмета Физическая культура может повторяться в объединённых по группам ячейках произвольное число раз через запятую. Для устранения возникшей проблемы, поскольку подобное объединение предметов более нигде не используется, была применена PHP функция str_replace.

В остальном данные считываются из файлов с исходной информацией корректно, позволяя заменить ручной разбор данных при заполнении расписания на сайте.

ЗАКЛЮЧЕНИЕ

Подводя итог проделанной работе, можно сказать, что приложение позволит сэкономить сотрудникам Института Естественных Наук и Биомедицины массу времени, затрачиваемого сейчас на заполнение электронного расписания на сайте института.

В процессе выполнения данной работы я достиг следующих результатов:

- Спроектировал и написал приложение, позволяющее перенести данные, содержащиеся в .xls и .xlsx файлах расписания института

- Ознакомился со спецификациями на данные форматы файлов

- Овладел навыками разбора информации, содержащейся в файлах форматов .xls и .xlsx

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

OpenOffice: портал [Электронный ресурс]. - Режим доступа: http://www.openoffice.org/sc/excelfileformat.pdf.

Хабрахабр: портал [Электронный ресурс] // Разбираем xlsx в PHP без готовых библиотек. - Режим доступа: http://habrahabr.ru/post/140352/.

PHP: портал [Электронный ресурс] - Режим доступа: http://php.net/.

Размещено на Allbest.ru


Подобные документы

  • Алгоритм построения столбиковой, круговой диаграмм. Порядок заполнения расчетной таблицы с заполнением данных в графах, перенос данных в расчетную таблицу. Применение опции "Автозаполнение" при расчетах в таблице. Примеры расчета итоговых данных.

    контрольная работа [1,2 M], добавлен 26.03.2010

  • Составление таблицы согласно образцу в программе MS Excel. Создание данных таблицы базы данных. Введение формул в программе MS Excel. Установление связи между таблицами. Создание запроса на выборку данных из одной таблицы с помощью мастер запросов.

    контрольная работа [4,0 M], добавлен 17.04.2016

  • Извлечение информации, организация и отбор данных с помощью приложения Microsoft Query. Обработка полученных данных средствами сводной таблицы в табличном процессоре Excel в соответствии с индивидуальным заданием. Возможности Мастера сводных таблиц.

    курсовая работа [2,4 M], добавлен 20.11.2011

  • Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97. Сортировка - это упорядочение данных по возрастанию или по убыванию. При фильтрации базы отображаются только записи, обладающие нужными свойствами.

    реферат [6,6 K], добавлен 17.11.2002

  • Исследование особенностей работы с динамическими структурами данных, обработки строк. Реализация работоспособного программного обеспечения, которое должно поддерживать информационную базу пользователей компьютеров. Метод пирамидальной сортировки данных.

    курсовая работа [364,1 K], добавлен 06.04.2014

  • Назначение и виды запросов в Microsoft Access. Реляционная база данных. Разработка запроса в режиме конструктора. Технология решения задачи в Excel. Запросы на обновление, добавление и удаление данных. Перенос слов при вводе в ячейку длинных заголовков.

    курсовая работа [1,3 M], добавлен 23.04.2013

  • Microsoft Excel как программным средством для работы с таблицами данных, позволяющим вычислять значения, упорядочивать, анализировать и графически представлять различные виды данных, взаимодействие с Visual. Разработка базы данных, содержание и функции.

    курсовая работа [1,8 M], добавлен 05.12.2012

  • Сущность и применение приложения Excel как базы данных: создание таблицы, фильтрация и структурирование данных, подведение итогов, консолидация, добавление диаграммы и гиперссылки. Применение приложения Access для решения задач в различных областях.

    курсовая работа [3,9 M], добавлен 11.05.2012

  • Характеристика процесса консолидации данных в Excel. Консолидация данных по физическому расположению; по заголовкам строк и столбцов; с использованием ссылок. Создание сводной таблицы на основе данных, находящихся в нескольких диапазонах консолидации.

    реферат [4,9 M], добавлен 13.01.2011

  • Microsoft Access как система управления базами данных (СУБД), ее предназначение. Организованная структура для хранения данных. Типы данных при работе с Microsoft Access 2003 и Microsoft Access 2007. Проектирование баз данных и построение ER-диаграммы.

    контрольная работа [16,3 K], добавлен 10.10.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.