Go to file
Eugene c34d913619 Readme update 2023-07-25 17:29:27 +03:00
dist dist update 2023-07-25 15:27:58 +03:00
public Init commit 2023-07-19 17:34:15 +03:00
src Added eslint & prettier config 2023-07-25 16:59:49 +03:00
.eslintrc.cjs Added eslint & prettier config 2023-07-25 16:59:49 +03:00
.gitignore Builded first version of package 2023-07-24 19:12:21 +03:00
.prettierignore Added eslint & prettier config 2023-07-25 16:59:49 +03:00
.prettierrc.json Added eslint & prettier config 2023-07-25 16:59:49 +03:00
LICENCE Added 'destroy' method 2023-07-25 13:20:25 +03:00
README.md Readme update 2023-07-25 17:29:27 +03:00
index.html Added eslint & prettier config 2023-07-25 16:59:49 +03:00
package.json Added eslint & prettier config 2023-07-25 16:59:49 +03:00
pnpm-lock.yaml Added eslint & prettier config 2023-07-25 16:59:49 +03:00
tsconfig.json Builded first version of package 2023-07-24 19:12:21 +03:00
vite.config.ts Added eslint & prettier config 2023-07-25 16:59:49 +03:00

README.md

Modern Spreadsheet

  • High performance spreadsheet based on CanvasAPI.
  • TypeScript supported

Basic usage

import Spreadsheet from "modern_spreadsheet";
import "modern_spreadsheet/style.css"; // <= this is required

const target = document.getElementById("spreadsheet");
const sheet = new Spreadsheet(target);
//...

Save and load data

function saveData() {
	const serialized = sheet.serializeData();
	localStorage.setItem("sheet_data", JSON.stringify(serialized));
}

function loadData() {
	const data = localStorage.getItem("sheet_data");
	const json = JSON.parse(data);
	if (!json) return;
	sheet.loadData(json);
}

Roadmap

  • Rows number and columns heading render
  • Custom event functions (ex.: onSelectionChange, onCellEdit...). Full list of supported events will available on this page
  • Rows and columns resizing
  • Toolbar
  • Context menu
  • Formulas support
  • Selected cell depends cells highlight
  • Async formulas support
  • Mutlisheets (?)