从零开始,SpreadJS 新人学习笔记(第二周)
Hello,大家好,我是Fiona。经过上周的学习,我已经初步了解了SpreadJS的目录结构,以及如何创建Spread项目到我的工程目录中。>>还不知如何开始学习SpreadJS的同学,可以点击这里
本周,我会继续深入学习SpreadJS,也希望我的学习笔记能够帮助更多刚接触SpreadJS的朋友,从零开始,逐步精通。
本周的小目标:理解并学会使用SpreadJS的工作簿。
在开始记录学习笔记之前,我要特别感谢一个人:来自葡萄城纯前端技术交流群的大牛Kevin——一个声音充满磁性、技术全面、细致入微的大暖男。
正是在Kevin的帮助下,我仅用了3天时间,便掌握并实现了SpreadJS 的滚动条、标签、工作簿事件、命中测试等功能。下面我将以图文的形式记录我的学习笔记,并在文末上传我做的Demo,希望给大家一些借鉴:
初始化 SpreadJS

通过选择【表单名称标签】菜单下的“显示新增按钮”,即可控制Sheet状态栏的加号是否显示:

SpreadJS 滚动条
通过选择【滚动条】菜单下的“显示水平滚动条”选项,即可控制表单水平、竖直滚动条是否显示:

通过选择【背景】菜单下的“填充表格背景色”和“填充灰色区域背景色”,即可改变表格和状态栏区域的主题颜色配置:

SpreadJS JSON 文件的导入/导出
SpreadJS表格控件支持以JSON的格式导入导出数据,并可保存录入数据。SpreadJS通过使用数据源序列化和自定义特性序列化两种方式实现JSON格式的导入和导出。
数据源序列化
若要将表单中的数据源序列化到JSON对象中,可以设置参数includeBindingSource: true,若未设置默认为false.
如下图,点击【数据源序列化】按钮,即可将上表中的数据源数据导出,在下表中导入:

自定义特性序列化
除了数据源序列化,SpreadJS也支持按用户自定义的特性进行JSON数据的序列化与反序列化。如下图,点击【加样式】按钮,即可为表格的视图及标签区域加入自定义样式,点击【自定义特性序列化】即可按照刚加入的自定义样式进行序列化。

注:SpreadJS支持按以下自定义特性进行序列化与反序列化:
- 自定义单元格类型
- 自定义函数
- 自定义格式
- 自定义函数、迷你图
- 自定义标签
- 自定义行筛选
hitTest(命中测试)
通过点击SpreadJS工作簿的单元格以进行命中测试,利用hitTest方法实现返回特定区域的属性值。

SpreadJS Demo 示例
以下是我在学习SpreadJS工作簿的过程中,自己写的两个小示例,供大家参考。
l SpreadJSBasicDemo1.zip:包含了背景、滚动条、标签功能的示例
l SpreadJSBasicDemo2.zip:包含了工作簿事件、命中测试,以及JSON文件
OK,今天先记录到这里,下一步计划:学习SpreadJS的表单。
SpreadJS,我一定会征服你的,加油!
PS:文中提到的Kevin小哥哥非常腼腆,这里就不方便透露他的私人联系方式了。不过,在前端技术交流群(720389894)中可以找到他

从零开始,SpreadJS 新人学习笔记(第二周)的更多相关文章
- 从零开始,SpreadJS新人学习笔记【第3周】
表单&函数 阔别多日, SpreadJS新人学习笔记,本周起正式回归!(在断更的这一个月中,我为大家先后录制了14期SpreadJS产品入门系列学习视频,希望帮助那些正在学习和使用 Sprea ...
- 从零开始,SpreadJS新人学习笔记【第5周】
复制粘贴.单元格格式和单元格类型 本周,让我们一起来学习SpreadJS 的复制粘贴.单元格格式和单元格类型,希望我的学习笔记能够帮助你们,从零开始学习 SpreadJS,并逐步精通. 在此前的学习笔 ...
- 从零开始,SpreadJS新人学习笔记【第4周】
数据绑定.脏数据和单引号前缀 本周,让我们一起来学习SpreadJS 的数据绑定.脏数据和单引号前缀,希望我的学习笔记能够帮助你们,从零开始学习 SpreadJS,并逐步精通. 在此前的学习笔记中,相 ...
- 从零开始,SpreadJS 新人学习笔记
Hello,大家好,我是Fiona,从事前端开发工作,我十分热爱我的工作和一直默默栽培我的老板(这段请加粗). 前不久,接到老板的安排: 说实话,接到这个需求,我整个人的状态是这样的: 但是,我不能辜 ...
- python学习笔记第二周
目录 一.基础概念 1.模块 1)os模块 2)sys模块 2.pyc文件 3.数据类型 1)数字 2)布尔值 3)字符串 4.数据运算 5.运算符 6.赋值运算 7.逻辑运算 8.成员运算 9.身份 ...
- [Boolan-C++学习笔记]第二周整理
1.对于String类型的类(含有指针) 其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎. 要点在于写好BigThree 构造函数 { 完成成员初始化 ...
- java基础学习笔记 第二周(面向对象)
Day01 什么是抽象数据类型:将不同数据类型的集合组成的一个整体,我们称为抽象数据类型 类就是一个抽象数据类型 成员变量:类中的数据类型就是成员变量(属性) 方法:类中的一些行为就是方法 面向过程( ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
随机推荐
- selenium 与appium的关系
selenium是web端的自动化,appium是app端的自动化,它继承了webdriver(也就是selenium 2) 关系如下:
- psd缩略图上传控件
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践. ...
- TTTTTTTTTTTTTT hdu 5763 Another Meaning 哈希+dp
Another Meaning Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- HDU 1711:Number Sequence(KMP)
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 5806 NanoApe Loves Sequence Ⅱ ——(尺取法)
题意:给出一个序列,问能找出多少个连续的子序列,使得这个子序列中第k大的数字不小于m. 分析:这个子序列中只要大于等于m的个数大于等于k个即可.那么,我们可以用尺取法写,代码不难写,但是有些小细节需要 ...
- python-matplotlib-ERROR
在导入包显示画图时,出错:ImportError: No module named '_tkinter 解决办法:通常原因是tkinter和tk-devel缺失 ERROR: matplotlib的图 ...
- apache httpd.conf 文件的 详解
文章 摘自 :http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html ServerRoot /usr/local Server ...
- [CSP-S模拟测试]:Drink(模拟)
题目传送门(内部题10) 输入格式 输入第一行三个数$N,M,Q$分别表示棋盘的行数.列数和操作个数.接下来$N$行每行$M$个数表示一开始棋盘上宝物的价值.接下来$Q$行每行$3$个数$x,y,c$ ...
- JavaWeb页面静态化之使用freemarker模板生成一个html静态页面
题外话: 页面静态化(展示数据从JSP页面变成HTML页面)实现方式-->模板技术 从本质上来讲,模板技术是一个占位符动态替换技术.一个完整的模板技术需要四个元素:①模板语言(使 ...
- Java日志系统---Logger之简单入门
Java 中自带的日志系统,今天抽空了解了一点,算是入了门,所以将自己的一些心得记录下来,以备日后查看,有兴趣的朋友,看到此文章,觉得有错误或需要添加的地方,请在下方评论留言,大家可以共同进步,谢谢: ...