Статьи

Создайте веб-приложение на основе ваших файлов Excel

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

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

Приложение для доступа к таблице базы данных

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


Вам также может понравиться: 
Превратить ваш файл Excel в веб-приложение

Шаблонный подход

Чтобы выполнить вышеуказанные требования, я хотел бы познакомить вас с подходом на основе шаблонов: использовать файл Excel в качестве шаблона и заполнить данные из базы данных в шаблон.

В архитектурном представлении я делю приложение на 3 части:  модель, вид, контроллер .

  • Модель : данные из базы данных
  • Вид : файл шаблона
  • Контроллер : слушатель событий из View и заполнение данных из базы данных

Сопоставляя их с моей реализацией, это:

Keikai Spreadsheet (Просмотреть) —  DatabaseComposer (Контроллер) —  MyDataService (Модель)

Реализация

обзор

Предположим, что есть таблица торговых рекордов:

Подготовьте файл Excel в качестве шаблона:

Сочетая шаблон и данные, полученное в результате веб-приложение будет выглядеть так:

Конечный пользователь может:

  • редактировать ячейки и сохранять обратно в базу данных
  • перезагрузить данные из базы данных

Построить пользовательский интерфейс

В этом приложении я использую компонент веб-таблиц с открытым исходным кодом  Keikai . Keikai основан на инфраструктуре пользовательского интерфейса ZK , поэтому я могу построить пользовательский интерфейс в ZUL, используя также другие компоненты ZK. ZUL — это язык формата XML, где каждый тег представляет компонент, поэтому я могу создать такой интерфейс:


HTML