演示地址:/products/spreadjs/demo.htm
SpreadJS是wijmo旗下的一款HTML5电子表格控件。
官方网址:/products/spreadjs/
在这里简单整理了SpreadJS几个比较简单的特点,如下:
SpreadJS所支持的浏览器
1) Microsoft IE10
2) Microsoft IE9
3) Mozilla FireFox
4) Safari
5) Google Chrome
使用SpreadJS步骤
1)添加Jquery、SpreadJS脚本以及样式表的引用
<!--jQuery References--><script src="/jquery-1.9.1.min.js" type="text/javascript"></script><script src="/ui/1.10.1/jquery-ui.min.js" type="text/javascript"></script><!--Theme--><link href="/themes/aristo/jquery-wijmo.css" rel="stylesheet" type="text/css" /><!--SpreadJS Widgets JavaScript--><script src="/spreadjs/jquery.wijmo.wijspread.all.1.3.8.min.js" type="text/javascript"></script><!--SpreadJS Widgets CSS--><link href="/spreadjs/jquery.wijmo.wijspread.1.3.8.css" rel="stylesheet" type="text/css" />
2) 生成HTML标记
<div id="ss" style="width:100%;height:400px;"></div>
3) 初始化电子表格
<script type="text/javascript">$(document).ready(function(){$("#ss").wijspread({sheetCount:1}); // create wijspread controlvar spread = $("#ss").wijspread("spread"); // get instance of wijspread controlvar sheet = spread.getActiveSheet(); // get active worksheet of the wijspread control// initializing the active worksheet here... });</script>
Spread绘制图表解决方案
1) SparkLine
对单个单元格绘制图表
function setSparkline(row : number,col : number,dataRange : Range,dataOrientation : DataOrientation,sparklineType : SparklineType,sparklineSetting : SparklineSetting,dateAxisRange : Range,dateAxisOrientation : DataOrientation) : Sparkline;
缺点:Sparkline只有三种类型:
2) SparkLineEx
可以在指定单元格区域内通过公式来绘制图表
sheet.setFormula(i, 4, '=CASCADESPARKLINE(C2:C17,' + i + ',B2:B17,,,"#8CBF64","#D6604D",false)');
优点:可以有多种图表类型
可以跨多个单元格绘制图表
缺点:只能通过公式来绘制图表
图表的种类不够多,不能动态展示
3) Floating Objects
通过添加浮动对象中指定的HTML元素,添加完浮动对象后,在嵌入的div中绘制图表:
var div = document.createElement('div');div.setAttribute("id", "div1");div.innerHTML = "<div id= 'myChart'>button<div/>";customFloatingObject.Content(div);$(div).highcharts......(此处省略highcharts使用方法);
优点:可以使用多种嵌入浮动对象的图表控件绘制图表
缺点:目前没找到可以自由伸缩的方法
SpreadJS懒加载方案:
目前尚未发现脚本懒加载的方案
SpreadJS支持国际化
$.wijmo.wijspread.CultureInfo中有默认的国际化变量,可以识别为各个culture,支持自定义culture以及设定此culture的变量
SpreadJS支持 Knockout (KO)技术
KnockoutJS 是一个使用 MVVM 模式的 JavaScript 库,允许双向数据绑定,使数据和UI界面进行实时的交互更新。
1) 添加最新的 jQuery 引用, Wijmo 插件, Knockout .js 文件和 KO 关于 Wijmo 的扩展文件。
2) 创建 ViewModel 和 View:添加 JavaScript 定义数据和 UI 行为。创建标记创建 View 视图,可交互的UI。
3) 绑定 SpreadJS 插件到 ViewModel 和 KO.
可以使用SpreadJS Designer设计器,设计器主要有以下功能:
1) 导入导出ssjson、xls、csv等文件
2) 可以保存为js文件
3) 加载、保存schema(json格式)
4) 像excel一样操作文档,编辑单元格,移动单元格,字体、颜色、样式、对齐
5) 添加sparkline图表、table、Picture
6) 设计报表公式
7) 表条件过滤、排序
缩小自适应单元格Shrink to Fit
对单个单元格的较长字段缩放以自适应单元格长度
支持typescript
添加wijmo.wijspread.d.ts 和 jquery.d.ts,可以智能感知
支持数据验证
1) createDateValidator
2) createFormulaValidator
3) createFormulaListValidator
4) createListValidator
5) createNumberValidator
6) createTextLengthValidator
如果觉得《SpreadJS电子表格》对你有帮助,请点赞、收藏,并留下你的观点哦!