rumblesheetjs
v1.0.2
Published
Seamlessly integrate dynamic, interactive spreadsheets into any website for enhanced data management and visualization.
Downloads
94
Readme
Table of Contents
🚀 Features
Graph Support
- Visualize your data with dynamic graphing capabilities
- Create various types of charts directly within the spreadsheet to better represent and analyze your data
Multiple Excel Files with Resizability
- Open and manage multiple Excel files simultaneously
- Each spreadsheet is resizable, allowing you to adjust the view for a more convenient workflow
Marching Ant Selection
- Highlight selected cells with a marching ants animation, making it easier to distinguish and work with selected areas
Formula Support
- Leverage built-in formulas to perform automatic calculations
- Supports various formula types to enhance data analysis
Zoom In/Out Functionality
- Zoom in and out within individual sheets to better view or edit data, offering a more flexible and adaptable interface
Copy and Cut Features
- Easily copy or cut cell contents and move data across different sections or sheets with familiar clipboard operations
Layout Functionalities
- Customize the layout of your sheets, including alignment, text formatting, and overall structure, ensuring your data looks well-organized
Row and Column Shift
- Shift rows and columns effortlessly, allowing quick rearrangements of your data without manual reentry
Add and Delete Rows/Columns
- Dynamically add or delete rows and columns as needed to accommodate growing or shrinking datasets
Multiple Sheets
- Work with multiple sheets within a single Excel file, enabling better data categorization and management
Fill Values Based on Pattern
- Automate repetitive data entry by filling cells based on a detected pattern, making workflows faster and more efficient
CSV File Upload
- Upload and import CSV files directly into the spreadsheet, allowing seamless integration of external data
Search Functionality
- Quickly search within the spreadsheet for specific data points or cell references, streamlining navigation through large datasets
Find and Replace
- Easily find and replace text or values within the spreadsheet, helping update or correct large amounts of data with minimal effort
📚 Documentation
Directory Structure
RumbleSheet/
├── index.html
├── assets/
│ ├── locales/
│ │ └── en-us.json
│ ├── styles/
│ │ └── main.css
│ └── images/
│ └── logo.png
├── src/
│ ├── core/
│ │ ├── initiator.ts
│ │ └── eventManager.ts
│ ├── excel/
│ │ ├── excel.ts
│ │ ├── components/
│ │ │ ├── sheetRenderer.ts
│ │ │ ├── helper.ts
│ │ │ └── scroll.ts
│ │ ├── feature/
│ │ │ ├── cellFunctionality/
│ │ │ │ └── *.ts
│ │ │ └── headerCellFunctionality/
│ │ │ └── *.ts
│ │ ├── plugins/
│ │ │ └── graph/
│ │ │ │ └── *.ts
│ │ │ └── file/
│ │ │ └── *.ts
│ │ ├── ribbon/
│ │ │ ├── ribbon.js
│ │ │ ├── tooltipManager.ts
│ │ │ └── customTooltip.ts
│ │ ├── theme/
│ │ │ └── themeManager.ts
│ │ └── dataStructures/
│ │ └── sparseMatrix.ts
│ └── tests/
│ ├── core/
│ └── excel/
│ ├── components/
│ ├── functionality/
│ ├── plugins/
│ ├── ribbon/
│ └── theme/
└── README.md
1.0 initiator.js
class Excel
- Represents an Excel-like grid component
class Grid_maker
- Manages header cells (both horizontal and vertical) for a spreadsheet-like component
2.1 eMaker.js
class Sheet
- Represents a spreadsheet sheet
class EMaker
- Represents a manager for an Excel-like sheet interface
2.2 ribbonMaker.js
3.1.1 headerCellStructure.js
class HeaderCell
- Represents a single header cell in the spreadsheet
class HeaderCellManager
- Manages header cells (both horizontal and vertical) for a spreadsheet-like component
3.1.2 sparseMatrixStructure.js
class Node
- Represents a single node in a sparse matrix
class SparseMatrix
- SparseMatrix class that represents a sparse matrix using linked lists for efficient storage and manipulation
3.2.1 sheetRenderer.js
4.1 calculationManager.js
class CalculationManager
- Manages calculations such as sum and average for a set of selected cells in a spreadsheet
4.2 cellFunctionality.js
class CellFunctionality
- Class responsible for managing cell interactions and functionality in the spreadsheet
4.3 cellUtlity.js
class CellUtility
- Utility class for handling cell operations in a spreadsheet
4.4 forumulaParser.js
class FormulaParser
- Class to parse and evaluate spreadsheet formulas
4.5 graph.js
class Graph
- Class responsible for generating and managing graphs based on selected cells in a spreadsheet
4.6 headerCellFunctionality.js
class HeaderCellFunctionality
- Handles the functionality of header cells, such as resizing, selecting, and context menu actions
4.7 scroll.js
class Scroll
- The Scroll class handles scrolling functionality within a spreadsheet
4.8 spreadsheetManager.js
class SpreadsheetManager
- Manages spreadsheet operations such as handling cell input, updating the sparse matrix, and evaluating formulas within a grid
🖋 Contributors
We love contributions! To get started, please follow these simple steps to contribute to the project.
Steps to Contribute:
1. Create a Feature Branch
Create a new branch to work on your feature or bug fix. This helps us keep track of different contributions.
git checkout -b dev/name
2. Track all your files
Add all the changed files.
git add .
2. Commit your Changes
Commit your changes with some meaningful messages.
git commit -m 'Add some AmazingFeature'
3. Push to the Branch
Push the code changes in your branch.
git push origin dev/name
4. Open a Pull Request
Open a PR against the stage
branch.