🎯 官网演示

工作簿级别

SheetNext 是主入口类,管理整个电子表格应用。

属性 类型 说明
workbookName string 工作簿名称(可读写,长度1-255字符)
activeSheet Sheet 当前激活的工作表(可读写)
sheets Sheet[] 所有工作表数组
sheetNames string[] 工作表名称列表(只读)
containerDom HTMLElement 编辑器容器元素
namespace string 实例的全局命名空间(如 SN_0
locked boolean 是否锁定工作表切换/操作

addSheet(name?: string): Sheet

添加新工作表,名称可选(自动生成 Sheet1、Sheet2 等)。

const newSheet = SN.addSheet("销售数据");
const autoSheet = SN.addSheet(); // 自动命名

规则: 名称不重复、长度1-31字符、不含特殊符号 : / \ * ? [ ]

delSheet(name: string): void

删除指定工作表(至少保留一个可见工作表)。

SN.delSheet("Sheet2");

getSheetByName(name: string): Sheet | null

根据名称获取工作表。

const sheet = SN.getSheetByName("Sheet1");

getVisibleSheetByIndex(index: number): Sheet

获取可见工作表(按索引,隐藏工作表不计入)。

const firstSheet = SN.getVisibleSheetByIndex(0);

r(): void

手动触发画布重新渲染(批量修改后使用)。

// 批量修改后刷新
for (let i = 0; i < 100; i++) {
  sheet.getCell(i, 0).editVal = i;
}
SN.r();

getData(): object

获取完整的工作簿数据(JSON格式),包含所有工作表、单元格数据、样式、公式、图表等。

// 获取工作簿数据
const data = SN.getData();

使用场景:

  • 数据备份和恢复
  • 数据持久化到数据库或本地存储
  • 数据分析和处理
  • 跨系统数据传输

示例:保存到 localStorage

// 保存数据
const data = SN.getData();
localStorage.setItem('sheetData', JSON.stringify(data));

// 读取数据
const savedData = JSON.parse(localStorage.getItem('sheetData'));
SN.setData(savedData);

setData(data: object): boolean

加载完整的工作簿数据,替换当前所有工作表内容。

SN.setData(data):boolean;

import(file: File): Promise<void>

导入文件,支持 .xlsx.csv.json 格式。

// 通过文件选择器导入
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = '.xlsx,.csv,.json';
fileInput.onchange = (e) => {
  const file = e.target.files[0];
  SN.import(file);
};
fileInput.click();

支持格式:

  • .xlsx - Excel 工作簿(完整支持)
  • .csv - 逗号分隔值文件(导入为单个工作表)
  • .json - SheetNext JSON 格式(包含样式、公式、图表等)

importFromUrl(url: String): Promise<void>

通过在线地址导入 Excel 文件(.xlsx 格式)。

await SN.importFromUrl('https://example.com/data.xlsx');

export(type: string): void

导出电子表格,支持 "XLSX""CSV""JSON" 格式。

SN.export('XLSX'); // 导出为 Excel 文件

格式说明:

  • XLSX - Excel 工作簿格式,支持多工作表、样式、公式、图表等
  • CSV - 纯文本格式,仅导出当前激活工作表的数据(不含样式)
  • JSON - SheetNext 专用格式,完整保存工作簿结构、样式、公式、图表等,适合数据备份和快速加载

SheetNext 支持同一页面创建多个独立实例:

const editor1 = new SheetNext(document.querySelector('#container1'));
const editor2 = new SheetNext(document.querySelector('#container2'));

console.log(editor1.namespace); // "SN_0"
console.log(editor2.namespace); // "SN_1"