Skip to content

alobuuls/mini-excel-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“Š Mini Excel JS

Mini Excel JS Preview

HTML5 CSS3 JavaScript ES6 Spreadsheet Logic Completed

Repository GitHub Stars Last Commit


๐Ÿ“‘ Table of Contents


๐ŸŒ Live Demo

๐Ÿ”— https://alobuuls.github.io/mini-excel-js/


๐Ÿ“– Description

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.


โš™๏ธ System Requirements

Before running the project, make sure you have:

  • ๐ŸŒ A modern web browser (Chrome, Firefox, Edge, Safari)
  • ๐Ÿ“ฆ Git (optional)

๐Ÿ” Verify Installation

Check that Git is installed:

git --version

๐Ÿš€ Project Installation

1๏ธโƒฃ Clone the repository

git clone https://github.com/alobuuls/mini-excel-js.git

cd mini-excel-js

2๏ธโƒฃ Open the project

Important

No dependencies or package installation are required.

You can simply open:

index.html

or run the project using Live Server in Visual Studio Code.


โ–ถ๏ธ Run the Project

Open the index.html file directly in your browser.


๐Ÿง  Project Architecture

Note

The application is built using Vanilla JavaScript and follows a state-driven approach for managing spreadsheet data.

๐Ÿ“ฆ Core Modules

Spreadsheet Engine

Responsible for:

  • Cell rendering
  • State management
  • Data synchronization
  • Dynamic updates

Formula Processor

Handles:

  • Formula parsing
  • Mathematical operations
  • Cell references
  • Automatic recalculation

Column Management

Manages:

  • Column selection
  • Bulk editing
  • Data clearing
  • Spreadsheet interactions

Clipboard Interactions

Controls:

  • Copy functionality
  • Keyboard shortcuts
  • User productivity features
  • Data extraction

โœจ Features

  • ๐Ÿ“ฆ 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

๐Ÿงฎ Example Formulas

=A1+B1
=A1*10
=B2-C1

๐Ÿ›  Technologies Used

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

๐Ÿ“ Project Structure

mini-excel-js/
โ”œโ”€โ”€ index.html
โ”œโ”€โ”€ main.js
โ”œโ”€โ”€ styles.css
โ”œโ”€โ”€ img/
โ”‚   โ”œโ”€โ”€ preview.png
โ”‚   โ””โ”€โ”€ excel-img.png
โ””โ”€โ”€ README.md

๐Ÿ”ฅ Best Practices Implemented

  • 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

๐ŸŽฏ Project Goal

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

๐Ÿ“„ License

This project is intended for educational and portfolio purposes.

Created by Alondra Francisco Onofre.

About

Mini spreadsheet application built with Vanilla JavaScript featuring formulas, editable cells and column selection.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors