介绍

x-sheet 是一款高性能 Web JavaScript Canvas 电子表格,之前小编写过一篇 x-sheet 入门体验,简单介绍了一下如何使用 x-sheet。这次我们继续深入一下,了解下 x-sheet 还支持哪些配置,通过修改配置可以自定义我们的表格布局和特性。

最新原文 X-Sheet 开发教程:初始化配置自定义布局

配置

小编在使用 x-sheet 过程中,总结出了一份相对比较全的配置清单,可以参考下。

  1. const settings = {
  2. // 工作簿配置
  3. workConfig: {
  4. // 创建时间
  5. created: "",
  6. // 修改时间
  7. modified: "",
  8. // 作者信息
  9. creator: "",
  10. // 最后修改作者
  11. lastModifiedBy: "",
  12. // 工作簿名称
  13. name: "x-sheet",
  14. // 顶部配置
  15. top: {
  16. // 顶部选项栏配置
  17. option: {
  18. // 是否显示选项栏
  19. show: true,
  20. },
  21. // 顶部菜单栏配置
  22. menu: {
  23. // 是否显示菜单栏
  24. show: true,
  25. },
  26. },
  27. // 主体配置
  28. body: {
  29. // 工作表菜单配置
  30. sheetConfig: {
  31. // 是否显示右击菜单
  32. showMenu: true,
  33. },
  34. // 工作表主体配置
  35. sheets: [
  36. {
  37. // 工作表名称
  38. name: "sheet1",
  39. // 表格配置
  40. tableConfig: {
  41. // 标题行列配置
  42. index: {
  43. // 标题行高度
  44. height: 30,
  45. // 标题列宽度
  46. width: 50,
  47. // 标题行列边框颜色
  48. gridColor: "rgb(193,193,193)",
  49. // 标题行列字体大小
  50. size: 12,
  51. // 标题行列字体颜色
  52. color: "rgb(0,0,0)",
  53. },
  54. // 表格整体配置
  55. table: {
  56. // 是否显示网格线
  57. showGrid: true,
  58. // 表格区域背景颜色
  59. background: "rgb(255,255,255)",
  60. // 网格线颜色
  61. gridColor: "rgb(225,225,225)",
  62. },
  63. // 行配置
  64. rows: {
  65. // 自定义最大行数
  66. len: 100,
  67. // 默认行高
  68. height: 30,
  69. // 行配置数据
  70. data: [
  71. {
  72. // 自定义行高,未设置的会取默认行高
  73. height: 100
  74. },
  75. ],
  76. },
  77. // 列配置
  78. cols: {
  79. // 自定义最大列数
  80. len: 25,
  81. // 默认列宽
  82. width: 110,
  83. // 行配置数据
  84. data: [{
  85. // 自定义列宽,未设置的会取默认列宽
  86. width: 200
  87. }],
  88. },
  89. // 冻结范围
  90. xFixedView: {
  91. // 冻结列索引,-1为不冻结
  92. fxLeft: -1,
  93. // 冻结行索引,-1为不冻结
  94. fxTop: -1,
  95. },
  96. // 冻结分割线样式
  97. xFixedBar: {
  98. // 冻结行分割线高度
  99. height: 16,
  100. // 冻结列分割线宽度
  101. width: 26,
  102. // 冻结分割线背景色
  103. background: "rgb(234,234,234)",
  104. // 冻结分割线按钮背景色
  105. buttonColor: "rgb(193,193,193)",
  106. },
  107. // 表格数据,二维数组
  108. data: [
  109. [
  110. // A1 单元格数据
  111. {
  112. // 单元格类型
  113. contentType: 2,
  114. // 字体属性
  115. fontAttr: {
  116. // 换行
  117. textWrap: 2,
  118. // 方向
  119. direction: "vertical",
  120. },
  121. // 富文本配置
  122. richText: {
  123. // 富文本具体字段信息
  124. rich: [
  125. // 第一个段富文本
  126. {
  127. // 字体
  128. name: "Arial",
  129. // 字体大小
  130. size: 14,
  131. // 文本内容
  132. text: "我是",
  133. // 字体颜色
  134. color: "rgb(255,0,2)",
  135. // 是否加粗
  136. bold: false,
  137. // 是否斜体
  138. italic: false,
  139. // 是否有删除线
  140. strikethrough: false,
  141. // 是否有下划线
  142. underline: false,
  143. },
  144. {
  145. // 第二段富文本包含的字符
  146. // 如果没有配置样式,就取单元格的样式,单元格也没有设置样式,就取默认的样式
  147. text: "富文本",
  148. },
  149. ],
  150. },
  151. },
  152. {
  153. // 背景颜色
  154. background: "rgb(255,255,0)",
  155. // 单元格图标
  156. icons: [],
  157. // 自定义属性
  158. custom: {},
  159. // 字体测量尺子
  160. ruler: undefined,
  161. // 格式化类型
  162. format: "default",
  163. // 单元格公式
  164. formula: undefined,
  165. // 文本内容
  166. text: "Text",
  167. // 格式化后的内容
  168. formatText: "Text",
  169. // 内容的宽度
  170. contentWidth: 100,
  171. // 内容的高度
  172. contentHeight: 100,
  173. // 字体属性
  174. fontAttr: {
  175. // 字体
  176. name: "Arial",
  177. // 字体大小
  178. size: 14,
  179. // 字体颜色
  180. color: "rgb(0,0,0)",
  181. // 是否加粗
  182. bold: false,
  183. // 是否斜体
  184. italic: false,
  185. // 是否有删除线
  186. strikethrough: false,
  187. // 是否有下划线
  188. underline: false,
  189. // 内边距
  190. padding: 5,
  191. // 文本角度
  192. angle: 0,
  193. // 文本方向
  194. direction: "horizontal", // 'horizontal' 'vertical' 'angle' 'bar'
  195. // 水平对齐方式
  196. align: "left", // 'left' 'center' 'right'
  197. // 垂直对齐方式
  198. verticalAlign: "middle", // 'top' 'middle' 'bottom'
  199. // 自动换行
  200. textWrap: 1, // 1 溢出 2 换行 3 截断
  201. },
  202. // 边框属性
  203. borderAttr: {
  204. // 左边框
  205. left: {
  206. // 层级
  207. zIndex: 0,
  208. // 是否显示
  209. display: true,
  210. // 宽度类型
  211. widthType: "low", // 'low' 'medium' 'high'
  212. // 颜色
  213. color: "rgb(0,0,0)",
  214. // 线条类型
  215. type: 0, // 0 solid 1 dotted 2 point 3 double
  216. },
  217. // 右边框
  218. right: {
  219. zIndex: 0,
  220. display: true,
  221. widthType: "medium",
  222. color: "rgb(0,255,0)",
  223. type: 0,
  224. },
  225. // 上边框
  226. top: {
  227. zIndex: 0,
  228. display: false,
  229. widthType: "high",
  230. color: "rgb(0,0,255)",
  231. type: 0,
  232. },
  233. // 下边框
  234. bottom: {
  235. zIndex: 0,
  236. display: true,
  237. widthType: "high",
  238. color: "rgb(0,255,255)",
  239. type: 3,
  240. },
  241. },
  242. },
  243. ],
  244. ],
  245. // 保护配置
  246. protection: {
  247. protections: [],
  248. },
  249. // 是否保护
  250. sheetProtection: true,
  251. // 合并单元格
  252. merge: { merges: ["A2:B3", "D5:H9"] },
  253. },
  254. },
  255. ],
  256. // 工作表选项卡配置
  257. tabConfig: {
  258. // 是否显示选项卡右击菜单
  259. showMenu: true,
  260. },
  261. },
  262. // 底部状态栏配置
  263. bottom: {
  264. // 是否显示状态栏
  265. show: true,
  266. },
  267. },
  268. };
  269. // 初始化x-sheet
  270. 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. [WPF]Win10便签软件

    项目地址 Github:项目地址 软件截图 项目中用到的技术和问题 [WPF]限制程序单例运行 [WPF]创建系统栏小图标 [WPF]程序随系统自启动 [WPF]xml序列化以及反序列化数据 [WPF ...

  2. 【Django drf】 序列化类常用字段类和字段参数 定制序列化字段的两种方式 关系表外键字段的反序列化保存 序列化类继承ModelSerializer 反序列化数据校验源码分析

    目录 序列化类常用字段类和字段参数 常用字段类 常用字段参数 选项参数 通用参数 序列化类高级用法之source source填写类中字段 source填写模型类中方法 source支持跨表查询 定制 ...

  3. 深入Typescript--01-使用roolup编译Typescript

    Typescript是什么? TypeScript是Javascript的超集,遵循最新的ES5/ES6规范.Typescript扩展了Javascript语法. 为什么要用Typescript? 1 ...

  4. C# 线程查漏补缺

    进程和线程 不同程序执行需要进行调度和独立的内存空间 在单核计算机中,CPU 是独占的,内存是共享的,这时候运行一个程序的时候是没有问题.但是运行多个程序的时候,为了不发生一个程序霸占整个 CPU 不 ...

  5. 修改hosts文件需要vi命令

    i 在光标前插入. 保存 按esc后 shift+: 输入wq! 保存

  6. 字符输入流读取字符数据-writer类

    字符输入流读取字符数据 读取字符:read方法,每次可以读取一个字符的数据,提升为int类型,读取到文件末尾,返回-1,循环读取,代码使用演示∶ writer类 java.io.Filelwriter ...

  7. SQLSERVER 的四个事务隔离级别到底怎么理解?

    一:背景 1. 讲故事 在有关SQLSERVER的各种参考资料中,经常会看到如下四种事务隔离级别. READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEA ...

  8. wixtoolset visualstudio 2017打包流程(1)

    第一步: 使用wix提供的 heat.exe 工具生成后缀为 wsx 的配置文件.   heat.exe dir ".\binr" -dr INSTALLFOLDER -cg Pr ...

  9. SQL优化的七个方面

    SQL优化的七个方面 1. 创建索引 禁止给表中每一列都建立单独索引 每个Innodb表都必须有一个主键 要注意组合索引的字段顺序 优先考虑覆盖索引 避免使用外键约束 2. 避免索引失效 失效场景: ...

  10. spring-in-action_day01

    前景说明:SpringInAction主要致力于SpringBoot为基础的讲解,尽可能多的使用SpringBoot,可以减少显行的配置,如xml配置,可以更加的专注于功能的实现. 第一章:主要讲了如 ...