Skip to content
aadinamdev10-hubPublic

About

Interactive CSV Pivot Table Analytics & Data Transformation Tool

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 CSV Pivot Table & Data Analysis System

Java Tomcat Excel Export License

ℹ️ About Project

The CSV Pivot Table & Data Analysis System is an analytical data processing web application built with Java. Featuring an in-memory multi-dimensional aggregation engine (PivotEngine), the platform allows users to upload CSV files, dynamically configure pivot dimensions (SUM, COUNT, AVG, MIN, MAX), and export publication-ready Microsoft Excel (.xlsx) workbooks.


🌟 Key Features

  • ⚡ Dynamic In-Memory Pivot Engine: Compute multi-dimensional aggregations (SUM, COUNT, AVG, MIN, MAX) across arbitrary CSV fields (PivotEngine.java).
  • 📁 Streamed CSV Ingestion: High-efficiency CSV parsing with automatic data type detection (CsvParserService.java).
  • 📊 Excel Workbook Generator: Stream pivot results directly into styled .xlsx workbooks (XlsxGenerator.java).
  • ⚙️ Custom Pivot Configuration: Save, retrieve, and update custom pivot analytical settings (PivotConfigDao.java).
  • 🖥️ Interactive Analytics Dashboard: Intuitive web UI for selecting row dimensions, column dimensions, value aggregations, and visual filters.

🔄 Data Pipeline

flowchart LR
    A[Upload CSV File] --> B[CsvParserService]
    B --> C[DatasetDao Storage]
    C --> D[Pivot Engine]
    E[User Selects Dimensions] --> D
    D --> F[PivotResult JSON]
    D --> G[XlsxGenerator Export]
    F --> H[Interactive Table UI]
    G --> I[Download XLSX File]
Loading

🛠️ Engine & Servlet Reference

Component Role Description
PivotEngine.java Core Engine In-memory multidimensional aggregation engine computing pivot matrixes.
CsvParserService.java Parser Reads stream data, identifies header fields, and determines column types.
XlsxGenerator.java Exporter Converts PivotResult structures into formatted Microsoft Excel files.
UploadServlet.java Controller Accepts multi-part CSV uploads and stores datasets.
ReportServlet.java Controller Computes pivot tables on-demand and returns tabular JSON output.
SettingsServlet.java Controller Saves user-specific pivot settings and aggregation configurations.

📁 Repository Structure

csvpivot/
├── src/
│   └── main/
│       ├── java/
│       │   ├── apps/
│       │   │   └── csvpivot/
│       │   │       ├── servelets/           # Report, Upload & Settings Servlets
│       │   │       └── util/                # Pivot Engine, CSV Parser, Excel Generator
│       │   └── apps/
│       │       └── dbservice/               # Shared HikariCP Connection Pool
│       ├── resources/
│       │   └── db.properties                 # Database Properties
│       └── webapp/
│           └── apps/
│               └── csvpivot/                # Dashboard JSPs, Styles & Scripts
└── README.md

🚀 Setup & Launch

  1. Configure db.properties with database parameters.
  2. Deploy onto Apache Tomcat 9.0+.
  3. Open in browser:
    http://localhost:8080/apps/apps/csvpivot/index.jsp
    

📄 License

Distributed under the MIT License.

About

Interactive CSV Pivot Table Analytics & Data Transformation Tool

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages