Go to file
Eugene 35cb54e23e dist update 2023-07-25 23:58:11 +03:00
dist dist update 2023-07-25 23:58:11 +03:00
public Init commit 2023-07-19 17:34:15 +03:00
src dist update 2023-07-25 23:58:11 +03:00
.eslintrc.cjs Linted code 2023-07-25 23:57:19 +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 Linted code 2023-07-25 23:57:19 +03:00
index.html Linted code 2023-07-25 23:57:19 +03:00
package.json Fixed rects 2023-07-25 23:54:25 +03:00
pnpm-lock.yaml Linted code 2023-07-25 23:57:19 +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 (?)
  • Copy & Paste support