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 入门体验