serialize()
描述
将电子表格数据序列化为 JSON 对象
用法
serialize(): {
sheets: [
{
name: string,
id: string,
data: [
{
cell: string,
value?: string | number,
css?: string,
format?: string,
editor?: {
type: string, // type: "select"
options: string | array
},
locked?: boolean,
link?: {
text?: string,
href: string
}
},
// more cell objects
],
cols: [
{
width: number,
hidden: boolean
},
// more column objects
],
rows: [
{
height: number,
hidden: boolean
},
// more row objects
],
merged: [
{
from: { column: number, row: number },
to: { column: number, row: number }
},
// more objects
],
freeze: {
col: number,
row: number
}
},
// more sheet objects
],
styles: object,
formats: array
};
返回值
该方法返回一个包含以下属性的序列化 JSON 对象:
formats- 数字格式对象的数组styles- 包含已应用 CSS 类的对象,其中键为类名,值为包含该类样式属性的对象sheets- 工作表对象的数组。每个对象包含以下属性:name- 工作表名称id- 工作表 iddata- 单元格对象的数组。每个对象包含带有单元格 id 的cell属性,以及为该单元格设置的属性:value、css、format、editor、locked、linkcols- 列配置对象的数组。每个对象包含width和hidden属性rows- 行配置对象的数组。每个对象包含height和hidden属性merged- 对象数组,其中每个对象通过from和to属性定义一个合并单元格区域freeze- 包含固定列数和行数的对象,若未固定任何内容则为{ col: 0, row: 0 }
请注意:
merged和freeze属性始终存在于工作表对象中,列或行对象中的hidden属性也是如此,当列或行可见时该属 性为falsecols和rows数组覆盖工作表的数据范围,如果在该范围之外修改了列宽、行高或hidden状态,数组会继续扩展。因此空列和空行的自定义尺寸也会被保留- 单元格在具有值、CSS 类、编辑器或
locked状态时才会进入data数组。因此被锁定的空单元格也会被保留 - 返回的对象可以原样传递给 parse() 方法
示例
const spreadsheet = new dhx.Spreadsheet("spreadsheet", {});
spreadsheet.parse(data);
const state = spreadsheet.serialize();
相关文章: 数据加载与导出