介绍

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 开发系列教程:初始化配置的更多相关文章

  1. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  2. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  3. HTML5游戏开发系列教程7(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-7/ 今天我们将完成我们第一个完整的游戏--打砖块.这次教程中,将 ...

  4. HTML5游戏开发系列教程5(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...

  5. HTML5游戏开发系列教程4(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-4/ 这篇文章是我们继续使用canvas来进行HTML5游戏开发系 ...

  6. 微信程序开发系列教程(二)使用JavaScript给微信用户发送消息

    我之前的文章 微信程序开发系列教程(一)开发环境搭建 介绍了微信开发环境的搭建,这篇文章我们就来一步步开发一些具体的功能. 功能需求:当有微信用户关注了您的公众号之后,您用JavaScript发送一个 ...

  7. Android 开发系列教程之(一)Android基础知识

    什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是And ...

  8. SpringBoot 系列教程自动配置选择生效

    191214-SpringBoot 系列教程自动配置选择生效 写了这么久的 Spring 系列博文,发现了一个问题,之前所有的文章都是围绕的让一个东西生效:那么有没有反其道而行之的呢? 我们知道可以通 ...

  9. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  10. C#微信公众号开发系列教程六(被动回复与上传下载多媒体文件)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

随机推荐

  1. cs231n学习笔记——lecture6 Training Neural Networks

    该博客主要用于个人学习记录,部分内容参考自:[基础]斯坦福cs231n课程视频笔记(三) 训练神经网络.[cs231n笔记]10.神经网络训练技巧(上).CS231n学习笔记-训练神经网络.整理学习之 ...

  2. [机器学习] Yellowbrick使用笔记7-聚类可视化

    聚类模型是试图检测未标记数据中模式的无监督方法.聚类算法主要有两类:聚集聚类将相似的数据点连接在一起,而质心聚类则试图在数据中找到中心或分区.Yellowbrick提供yellowbrick.clus ...

  3. 【ASP.NET Core】按用户角色授权

    上次老周和大伙伴们分享了有关按用户Level授权的技巧,本文咱们聊聊以用户角色来授权的事. 按用户角色授权其实更好弄,毕竟这个功能是内部集成的,多数场景下我们不需要扩展,不用自己写处理代码.从功能语义 ...

  4. 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话

    1.简介 在大数据时代,互联网时代,个人信息安全尤为重要,网络安全在近日多起电信诈骗事情发酵下的情况下,引起国家,企业,个人对于互联网安全进一步的重视.而之前很多以http协议传输的网站出现的网站信息 ...

  5. Java 进阶P-1.3+P-1.4

    成员变量和成员函数 成员变量 类定义了对象中所具有的变量,这些变量称作成员变量 每个对象都有自己的变量,和同一个类的其他对象是分开的 成员方法 在 Java 语言中使用成员方法对应于类对象的行为.以 ...

  6. HashMap简要介绍

    https://www.cnblogs.com/vitasyuan/p/9220773.html 1.HashMap-1.8介绍 HashMap为Map接口的一个实现类,实现了所有Map的操作.Has ...

  7. react 项目的性能优化

    react 项目的性能优化有哪些? 1.react 模块化处理 就是将react内容进行模块化划分,一个模块一个组件,react更新机制是组件重新更新 2.在react项目中更新数据,不要直接将 us ...

  8. C语言补漏--内存管理-完结

    1.内存分布 2.内存操作函数 数组清空 2. 内存拷贝函数 数组拷贝 3.内存对比 总结 堆区开辟 内存泄漏只申请不释放,导致内存空间持续增长,导致推出 内存污染向没有申请的内存空间写数据  向堆区 ...

  9. K8s 网络新手教程(Kubernetes Networking Guide for Beginners)

    K8s 网络新手教程(Kubernetes Networking Guide for Beginners) 原文链接: Kubernetes Networking Guide for Beginner ...

  10. GitHub 入门 与 2023年2月18日10:29:02

    用 GitHub 有一段时间了,之前一直用来做 Hexo 的服务器,直到前阵子搞 GitHub Action 因为命令不熟,把 GitHub 上的源码强制拉到本地把本地的 Hexo 搞崩了,博客源码都 ...