Skip to content

drvicx/java-export-excel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-export-excel

Support project for Timesheet Cloud 2.0 WebApp - Export data to Excel spreadsheets


=INFO

=CHANGE LOG
*новые записи в начале

04: 20220520_0050:

- реализован каркас Spring Boot Web MVC приложения необходимого для дальнейшей работы;
- далее необходимо будет реализовать выгрузку Excel формы Табеля из HTML-страницы веб-приложения;

- изменения отправлены в ветку "release-3.1" репозитория после чего произведено слияние с веткой "main";
- приложению присвоен тег версии 3.1 на основе которого на GitHub создан релиз v3.1;

03: 20220516_1430:

- реализована выборка динамических данных из БД HSQLDB с помощью хранимой процедуры для заполнения Excel-Табеля;
- в БД HSQLDВ реализованы:
  - пользовательская хранимая функция агрегации "group_concatenate" (используется при вычислении подытогов)
    собирающая результат select-запроса в строку с разделителем ","
    которая является аналогом функции stuff() из MSSQL отсутствующей в HSQLDB;
  - хранимая процедура "sp_getTimesheetDataV3(year,month)" с 2мя параметрами - Год и Месяц
    за которые извлекаются данные из таблицы [TIMEDATA], т.е. Год и Месяц Табеля;
  - таблица [TIMESHEET] для хранения результата вызова хранимой процедуры;

- в конфигурацию зависимостей проекта (pom.xml) добавлена библиотека для работы с HSQLDB через JDBC;
- создан Excel-шаблон "timesheetTemplate30_listDataV3.xls" сокращенной тестовой версии Табеля;
- созданы различные Entity и DAO-классы для тестирования вариантов формирования данных Табеля, а именно:
  - Entity-класс "TimesheetV3" описывающий
  - DAO-класс "TimesheetV3Dao" в котором происходит выборка динамических данных из БД путем вызова хранимой процедуры;
  - класс Сервисного слоя "TimesheetV3Service" в котором производится формирование Excel отчета с подключением шаблона и данных;
- внесены изменения в исполняемый класс приложения Application:
  - подключен сервисный слой "TimesheetV3Service" для формирования Excel-отчета с новой структурой данных;

- изменения отправлены в ветку "release-3.0" репозитория после чего произведено слияние с веткой "main";
- приложению присвоен тег версии 3.0 на основе которого на GitHub создан релиз v3.0;

02: 20220225_1310:

- реализован вывод своих тестовых данных для Табеля/Timesheet;
- созданы Excel-шаблон "timesheetTemplate.xls";
- в конфигурацию зависимостей проекта (pom.xml) добавлена библиотека Lombok 1.18.20 для упрощения описания getter/setter методов;
- созданы Entity-классы Orgdata, User, Timedata;
- создан DAO-класс TimesheetDao содержащий статические данные для вывода в отчет;
- создан класс Сервисного слоя TimesheetService в котором производится вызов Timesheet отчета с подключением шаблона;
- внесены изменения в исполняемый класс приложения Application: откл. формирование Client отчета и вкл. формирование Timesheet;

- изменения отправлены в ветку "release-2.0" репозитория после чего произведено слияние с веткой "main";
- приложению присвоен тег версии 2.0 на основе которого на GitHub создан релиз v2.0;

01: 20220221_1610:

- за основу взят проект (2), внесены исправления в файл pom.xml т.к код не компилировался;  
- структура проекта:

  /src
   - main/

     - java/
       - com.example.jxls/
         - common/
           Report.java
         - dao/
           CommonDao.java
         - model/
           Client.java
         - service/
           CommonService.java

         Application.java

     - resources/
       - reports/
         clientsTemplate.xls

  /target
   clients.xls

- сборка и запуск приложения:
  1. Выполнить Maven clean+compile
  2. Выполнить Run
  3. Сгенерированные данные будут инжектированы в Excel шаблон
     /src/main/resources/reports/clientsTemplate.xls
  4. Результирующий Excel файл будет сформирован в
     /target/clients.xls

- никакие исправления, относительно источника (2) в исходный код не вносились;
- изменения отправлены в ветку "release-1.0" репозитория после чего произведено слияние с веткой "main";
- приложению присвоен тег версии 1.0 на основе которого на GitHub создан релиз v1.0;

=APP-PREVIEW

  • App v3.1 -- Spring Boot Web MVC App - index.jsp
    clientsTemplate_xls

  • App v3.1 -- Spring Boot Web MVC App - helloEsp.jsp
    clientsTemplate_xls

  • App v3.1 -- Spring Boot Web MVC App - helloRus.jsp
    clientsTemplate_xls


  • App v3.0 -- Excel шаблон - timesheetTemplate30.xls
    clientsTemplate_xls

  • App v3.0 -- Сформированный Excel отчет - timesheet30.xls
    clients_xls


  • App v2.0 -- Excel шаблон - timesheetTemplate20.xls
    clientsTemplate_xls

  • App v2.0 -- Сформированный Excel отчет - timesheet20.xls
    clients_xls


  • App v1.0 -- Excel шаблон - clientsTemplate.xls
    clientsTemplate_xls

  • App v1.0 -- Сформированный Excel отчет - clients.xls
    clients_xls

About

Support project for Timesheet Cloud 2.0 WebApp - Export data to Excel spreadsheets

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages