x-spreadsheet README

The project's README from github.com/myliang/x-spreadsheet. As one markdown file: README.md.

x-spreadsheet

npm package NPM downloads NPM downloads Build passing codecov GitHub GitHub code size in bytes Join the chat at https://gitter.im/x-datav/spreadsheet

A web-based JavaScript spreadsheet

Document

CDN

<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/xspreadsheet.css">
<script src="https://unpkg.com/[email protected]/dist/xspreadsheet.js"></script>

<script>
   x_spreadsheet('#xspreadsheet');
</script>

NPM

npm install x-data-spreadsheet
<div id="x-spreadsheet-demo"></div>
import Spreadsheet from "x-data-spreadsheet";
// If you need to override the default options, you can set the override
// const options = {};
// new Spreadsheet('#x-spreadsheet-demo', options);
const s = new Spreadsheet("#x-spreadsheet-demo")
  .loadData({}) // load data
  .change(data => {
    // save data to db
  });

// data validation
s.validate()
// default options
{
  mode: 'edit', // edit | read
  showToolbar: true,
  showGrid: true,
  showContextmenu: true,
  view: {
    height: () => document.documentElement.clientHeight,
    width: () => document.documentElement.clientWidth,
  },
  row: {
    len: 100,
    height: 25,
  },
  col: {
    len: 26,
    width: 100,
    indexWidth: 60,
    minWidth: 60,
  },
  style: {
    bgcolor: '#ffffff',
    align: 'left',
    valign: 'middle',
    textwrap: false,
    strike: false,
    underline: false,
    color: '#0a0a0a',
    font: {
      name: 'Helvetica',
      size: 10,
      bold: false,
      italic: false,
    },
  },
}

import | export xlsx

https://github.com/SheetJS/sheetjs/tree/master/demos/xspreadsheet#saving-data

thanks https://github.com/SheetJS/sheetjs

Bind events

const s = new Spreadsheet("#x-spreadsheet-demo")
// event of click on cell
s.on('cell-selected', (cell, ri, ci) => {});
s.on('cells-selected', (cell, { sri, sci, eri, eci }) => {});
// edited on cell
s.on('cell-edited', (text, ri, ci) => {});

update cell-text

const s = new Spreadsheet("#x-spreadsheet-demo")
// cellText(ri, ci, text, sheetIndex = 0)
s.cellText(5, 5, 'xxxx').cellText(6, 5, 'yyy').reRender();

get cell and cell-style

const s = new Spreadsheet("#x-spreadsheet-demo")
// cell(ri, ci, sheetIndex = 0)
s.cell(ri, ci);
// cellStyle(ri, ci, sheetIndex = 0)
s.cellStyle(ri, ci);

Internationalization

// npm 
import Spreadsheet from 'x-data-spreadsheet';
import zhCN from 'x-data-spreadsheet/dist/locale/zh-cn';

Spreadsheet.locale('zh-cn', zhCN);
new Spreadsheet(document.getElementById('xss-demo'));
<!-- Import via CDN -->
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/xspreadsheet.css">
<script src="https://unpkg.com/[email protected]/dist/xspreadsheet.js"></script>
<script src="https://unpkg.com/[email protected]/dist/locale/zh-cn.js"></script>

<script>
  x_spreadsheet.locale('zh-cn');
</script>

Features

Development

git clone https://github.com/myliang/x-spreadsheet.git
cd x-spreadsheet
npm install
npm run dev

Open your browser and visit http://127.0.0.1:8080.

Browser Support

Modern browsers(chrome, firefox, Safari).

LICENSE

MIT

x-spreadsheet (myliang/x-spreadsheet)

Searching Database…

这是什么?一个基于网页的 JavaScript 电子表格:类似 Excel 的可编辑表格,直接在浏览器里运行。
它是一个像 Google Sheets 那样现成的应用,还是需要嵌到我自己网站里的东西?它是一个前端库,不是托管在云端的成品应用:你需要把它嵌入自己的页面,由它渲染出电子表格组件;它没有后端。
我怎么把它加到页面上?从 npm 安装这个包,或者用 CDN 的 script 标签引入,然后把它挂载到一个容器元素上 —— README 里对这两种方式都有说明。
这个项目还在维护吗?已经不维护了:项目已迁移到 @wolf-table/table,新的开发都在那个仓库里进行。
可以免费使用吗?包括商用?它采用 MIT 许可证,可以免费使用、修改,也能用到商业产品里。
这个表格是怎么渲染的 —— 需要配合 React、Vue 或 jQuery 吗?不需要任何框架:它是纯 ES6 JavaScript,直接在 HTML5 canvas 上绘制,而且它的 package.json 没有任何运行时依赖 —— 只有一个 OpenCollective 的 postinstall 钩子。
我想在本地开发它,该怎么做?克隆仓库,运行 npm install,然后运行 npm run dev —— 会启动一个 webpack 开发服务器并自动打开浏览器;运行 npm run build 可以生成生产环境的打包文件。
Creator
myliang
Size
4 MB
Stars
14.6K
Age
8y
Commits · 90 Days