๐ https://alobuuls.github.io/mini-excel-js/
Note
Mini Excel JS is a spreadsheet-inspired application built with HTML, CSS, and Vanilla JavaScript.
The project recreates core spreadsheet functionality directly in the browser, allowing users to edit cells, calculate formulas, select columns, copy data, and dynamically update values without using external libraries or frameworks.
Before running the project, make sure you have:
- ๐ A modern web browser (Chrome, Firefox, Edge, Safari)
- ๐ฆ Git (optional)
Check that Git is installed:
git --versiongit clone https://github.com/alobuuls/mini-excel-js.git
cd mini-excel-jsImportant
No dependencies or package installation are required.
You can simply open:
index.html
or run the project using Live Server in Visual Studio Code.
Open the index.html file directly in your browser.
Note
The application is built using Vanilla JavaScript and follows a state-driven approach for managing spreadsheet data.
Responsible for:
- Cell rendering
- State management
- Data synchronization
- Dynamic updates
Handles:
- Formula parsing
- Mathematical operations
- Cell references
- Automatic recalculation
Manages:
- Column selection
- Bulk editing
- Data clearing
- Spreadsheet interactions
Controls:
- Copy functionality
- Keyboard shortcuts
- User productivity features
- Data extraction
- ๐ฆ Dynamic cell editing
- โ Excel-style formulas
- โก Automatic calculations
- ๐ Full column selection
- โจ๏ธ Copy values with CTRL + C
- ๐งน Clear columns using Backspace
- ๐ Reactive updates
- ๐ง In-memory state management
- ๐ Spreadsheet-like experience
- ๐ Lightweight implementation without frameworks
=A1+B1
=A1*10
=B2-C1| Technology | Purpose |
|---|---|
| HTML5 | Structure |
| CSS3 | Styling |
| JavaScript (ES6+) | Functionality |
| DOM API | DOM Manipulation |
| Event Listeners | User Interactions |
| Arrays & Objects | Data Management |
| Clipboard API | Copy Operations |
mini-excel-js/
โโโ index.html
โโโ main.js
โโโ styles.css
โโโ img/
โ โโโ preview.png
โ โโโ excel-img.png
โโโ README.md
- Separation of responsibilities
- Dynamic DOM rendering
- State-driven architecture
- Formula abstraction
- Reusable functions
- Event delegation concepts
- Clean code structure
- Spreadsheet data modeling
- Maintainable JavaScript logic
- Lightweight implementation
Practice and strengthen advanced JavaScript concepts through the creation of a spreadsheet-like application:
- DOM Manipulation
- Event Handling
- State Management
- Dynamic Rendering
- Formula Parsing
- Spreadsheet Logic
- Arrays & Objects
- Data Synchronization
- User Interaction Design
- Front-End Architecture
This project is intended for educational and portfolio purposes.
Created by Alondra Francisco Onofre.
