x-sheet 开发教程:外围 API 的应用
x-sheet 开发教程:如何二次开发
介绍
x-sheet 是一款高性能 Web JavaScript Canvas 电子表格,之前小编写过一篇 x-sheet 入门体验,简略介绍了一下如何应用 x-sheet。这次咱们持续深刻一下,理解下 x-sheet 还反对哪些配置,通过批改配置能够自定义咱们的表格布局和个性。
最新原文 X-Sheet 开发教程:初始化配置自定义布局
配置
小编在应用 x-sheet 过程中,总结出了一份绝对比拟全的配置清单,能够参考下。
const settings = {
// 工作簿配置
workConfig: {
// 创立工夫
created: "",
// 批改工夫
modified: "",
// 作者信息
creator: "",
// 最初批改作者
lastModifiedBy: "",
// 工作簿名称
name: "x-sheet",
// 顶部配置
top: {
// 顶部选项栏配置
option: {
// 是否显示选项栏
show: true,
},
// 顶部菜单栏配置
menu: {
// 是否显示菜单栏
show: true,
},
},
// 主体配置
body: {
// 工作表菜单配置
sheetConfig: {
// 是否显示右击菜单
showMenu: true,
},
// 工作表主体配置
sheets: [
{
// 工作表名称
name: "sheet1",
// 表格配置
tableConfig: {
// 题目行列配置
index: {
// 题目行高度
height: 30,
// 题目列宽度
width: 50,
// 题目行列边框色彩
gridColor: "rgb(193,193,193)",
// 题目行列字体大小
size: 12,
// 题目行列字体色彩
color: "rgb(0,0,0)",
},
// 表格整体配置
table: {
// 是否显示网格线
showGrid: true,
// 表格区域背景色彩
background: "rgb(255,255,255)",
// 网格线色彩
gridColor: "rgb(225,225,225)",
},
// 行配置
rows: {
// 自定义最大行数
len: 100,
// 默认行高
height: 30,
// 行配置数据
data: [
{
// 自定义行高,未设置的会取默认行高
height: 100
},
],
},
// 列配置
cols: {
// 自定义最大列数
len: 25,
// 默认列宽
width: 110,
// 行配置数据
data: [{
// 自定义列宽,未设置的会取默认列宽
width: 200
}],
},
// 解冻范畴
xFixedView: {
// 解冻列索引,- 1 为不解冻
fxLeft: -1,
// 解冻行索引,- 1 为不解冻
fxTop: -1,
},
// 解冻分割线款式
xFixedBar: {
// 解冻行分割线高度
height: 16,
// 解冻列分割线宽度
width: 26,
// 解冻分割线背景色
background: "rgb(234,234,234)",
// 解冻分割线按钮背景色
buttonColor: "rgb(193,193,193)",
},
// 表格数据,二维数组
data: [
[
// A1 单元格数据
{
// 单元格类型
contentType: 2,
// 字体属性
fontAttr: {
// 换行
textWrap: 2,
// 方向
direction: "vertical",
},
// 富文本配置
richText: {
// 富文本具体字段信息
rich: [
// 第一个段富文本
{
// 字体
name: "Arial",
// 字体大小
size: 14,
// 文本内容
text: "我是",
// 字体色彩
color: "rgb(255,0,2)",
// 是否加粗
bold: false,
// 是否斜体
italic: false,
// 是否有删除线
strikethrough: false,
// 是否有下划线
underline: false,
},
{
// 第二段富文本蕴含的字符
// 如果没有配置款式,就取单元格的款式,单元格也没有设置款式,就取默认的款式
text: "富文本",
},
],
},
},
{
// 背景色彩
background: "rgb(255,255,0)",
// 单元格图标
icons: [],
// 自定义属性
custom: {},
// 字体测量尺子
ruler: undefined,
// 格式化类型
format: "default",
// 单元格公式
formula: undefined,
// 文本内容
text: "Text",
// 格式化后的内容
formatText: "Text",
// 内容的宽度
contentWidth: 100,
// 内容的高度
contentHeight: 100,
// 字体属性
fontAttr: {
// 字体
name: "Arial",
// 字体大小
size: 14,
// 字体色彩
color: "rgb(0,0,0)",
// 是否加粗
bold: false,
// 是否斜体
italic: false,
// 是否有删除线
strikethrough: false,
// 是否有下划线
underline: false,
// 内边距
padding: 5,
// 文本角度
angle: 0,
// 文本方向
direction: "horizontal", // 'horizontal' 'vertical' 'angle' 'bar'
// 程度对齐形式
align: "left", // 'left' 'center' 'right'
// 垂直对齐形式
verticalAlign: "middle", // 'top' 'middle' 'bottom'
// 主动换行
textWrap: 1, // 1 溢出 2 换行 3 截断
},
// 边框属性
borderAttr: {
// 左边框
left: {
// 层级
zIndex: 0,
// 是否显示
display: true,
// 宽度类型
widthType: "low", // 'low' 'medium' 'high'
// 色彩
color: "rgb(0,0,0)",
// 线条类型
type: 0, // 0 solid 1 dotted 2 point 3 double
},
// 左边框
right: {
zIndex: 0,
display: true,
widthType: "medium",
color: "rgb(0,255,0)",
type: 0,
},
// 上边框
top: {
zIndex: 0,
display: false,
widthType: "high",
color: "rgb(0,0,255)",
type: 0,
},
// 下边框
bottom: {
zIndex: 0,
display: true,
widthType: "high",
color: "rgb(0,255,255)",
type: 3,
},
},
},
],
],
// 爱护配置
protection: {protections: [],
},
// 是否爱护
sheetProtection: true,
// 合并单元格
merge: {merges: ["A2:B3", "D5:H9"] },
},
},
],
// 工作表选项卡配置
tabConfig: {
// 是否显示选项卡右击菜单
showMenu: true,
},
},
// 底部状态栏配置
bottom: {
// 是否显示状态栏
show: true,
},
},
};
// 初始化 x -sheet
new XSheet("#demo1", settings);
总结
x-sheet 目前还在开发中,局部 API 还不稳固,后续有变动小编会及时更新。
参考
- X-Sheet 开发教程:初始化配置自定义布局
- 高性能 web javaScript 电子表格
- 收费开源的高性能 JavaScript 电子表格:X-Sheet 入门体验