SpreadJS是wijmo旗下的一款HTML5电子表格控件。

官方网址:http://wijmo.com/products/spreadjs/

在这里简单整理了SpreadJS几个比较简单的特点,如下:

  1. SpreadJS所支持的浏览器

1) Microsoft IE10

    2) Microsoft IE9

    3) Mozilla FireFox

    4) Safari

    5) Google Chrome

  1. 使用SpreadJS步骤

    1)添加Jquery、SpreadJS脚本以及样式表的引用

         <!--jQuery References-->
      <script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
      <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js" type="text/javascript"></script>       <!--Theme-->
      <link href="http://cdn.wijmo.com/themes/aristo/jquery-wijmo.css" rel="stylesheet" type="text/css" />       <!--SpreadJS Widgets JavaScript-->
       <script src="http://cdn.wijmo.com/spreadjs/jquery.wijmo.wijspread.all.1.20133.8.min.js" type="text/javascript"></script>       <!--SpreadJS Widgets CSS-->
      <link href="http://cdn.wijmo.com/spreadjs/jquery.wijmo.wijspread.1.20133.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 control
    var spread = $("#ss").wijspread("spread"); // get instance of wijspread control
    var sheet = spread.getActiveSheet(); // get active worksheet of the wijspread control
    // initializing the active worksheet here...
       });
        </script>
  1. Spread绘制图表解决方案

    1)  SparkLine

    对单个单元格绘制图表

function setSparkline(
    row : number,
    col : number,
     dataRange : Range,
    dataOrientation : DataOrientation,
    sparklineType : SparklineType,
    sparklineSetting : SparklineSetting,
    dateAxisRange : Range,
    dateAxisOrientation : DataOrientation
      ) : Sparkline;

      缺点:Sparkline只有三种类型:

Member

Description

column

Specifies the column sparkline.

line

Specifies the line sparkline.

winloss

Specifies the win-loss 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使用方法);

    优点:可以使用多种嵌入浮动对象的图表控件绘制图表

    缺点:目前没找到可以自由伸缩的方法

  1. SpreadJS懒加载方案:

      目前尚未发现脚本懒加载的方案

  1. SpreadJS支持国际化

      $.wijmo.wijspread.CultureInfo中有默认的国际化变量,可以识别为各个culture,支持自定义culture以及设定此culture的变量

  1. 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.

  1. 可以使用SpreadJS Designer设计器,设计器主要有以下功能:

      1) 导入导出ssjson、xls、csv等文件

      2) 可以保存为js文件

      3) 加载、保存schema(json格式)

      4) 像excel一样操作文档,编辑单元格,移动单元格,字体、颜色、样式、对齐

      5) 添加sparkline图表、table、Picture

      6) 设计报表公式

      7) 表条件过滤、排序

  1. 缩小自适应单元格Shrink to Fit

      对单个单元格的较长字段缩放以自适应单元格长度

  1. 支持typescript

      添加wijmo.wijspread.d.ts 和 jquery.d.ts,可以智能感知

  1. 支持数据验证

      1)    createDateValidator
      2)  
 createFormulaValidator
      3)  
 createFormulaListValidator
      4)  
 createListValidator
      5)  
 createNumberValidator
      6)  
 createTextLengthValidator

SpreadJS电子表格的更多相关文章

  1. 【图解】Web前端实现类似Excel的电子表格

    本文将通过图解的方式,使用纯前端表格控件 SpreadJS 来一步一步实现在线的电子表格产品(例如可构建Office 365 Excel产品.Google的在线SpreadSheet). 工具简介: ...

  2. 【图解】Web前端实现相似Excel的电子表格

     在本文中,我将用图解的方式用Wijmo(JavaScript库)中的SpreadJS来一步一步实现网页上的电子表格产品SpreadSheet(比如可构建Office 365 Excel产品.Go ...

  3. 前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件

    JavaScript在前端领域占据着绝对的统治地位,目前更是从浏览器到服务端,移动端,嵌入式,几乎所有的所有的应用领域都可以使用它.技术圈有一句很经典的话"凡是能用JavaScript实现的 ...

  4. 前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件

    最近我们公司接到一个客户的需求,要求为正在开发的项目加个功能.项目的前端使用的是React,客户想添加具备Excel 导入/导出功能的电子表格模块. 经过几个小时的原型构建后,技术团队确认所有客户需求 ...

  5. 如何使用JavaScript导入和导出Excel文件

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. JavaScript是一个涵盖多种框架.直译式.可以轻松自定义客户端的脚本 ...

  6. FCC 成都社区·前端周刊 第 3 期

    01. Chrome65 的新功能 CSS Paint API 允许使用编程方式生成图像:Server Timing API允许服务器将时间信息通过HTTP headers传递给浏览器: CSS di ...

  7. 从服务端生成Excel电子表格(Node.js+SpreadJS)

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,通常用于创建网络应用程序.它可以同时处理多个连接,并且不像其他大多数模型那样依赖线程. 对于 Web 开发者来说,从数据库 ...

  8. 从服务端生成Excel电子表格(GcExcel + SpreadJS)

    在服务端生成Excel电子表格,除了使用 Node.js + SpreadJS 外,葡萄城官方推荐使用 SpreadJS + GcExcel.该方案不仅能够解决批量绑定数据源并导出Excel.批量修改 ...

  9. SpreadJS使用进阶指南 - 使用 NPM 管理你的项目

    前言 SpreadJS作为一款性能出众的纯前端电子表格控件,自2015年发布以来,已经被广泛应用于各领域“在线Excel”数据管理项目中.NPM,作为管理Node.js库最有力的手段,解决了很多Nod ...

随机推荐

  1. MySQL服务 - MySQL列类型、SQL模式、数据字典

    MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长). ...

  2. navicat连接My SQL时忘记root密码处理方法

    前端时间安装完My SQL5.6以后很长时间没用过,用navicat连接时有错误提示 应该是密码错误了,但是忘记了root的密码. 在网上找了很久,终于找到修改root密码的方法并修改成功. 1. 关 ...

  3. JAVA并发编程

    拜读了一篇很详尽的博文,特此转载http://www.cnblogs.com/dolphin0520/p/3920373.html, 并做了一些更正. 一.内存模型的相关概念. 大家都知道,计算机在执 ...

  4. 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译

    本文内容中的部分资料和知识来源于网络,具体引用出处不明. VS的IDE从VC6到VS2010的变化可谓是天翻地覆,最新的VS2010有一个特性就是支持多显示器开发,这无疑为我们的开发带来很大的便利. ...

  5. HDU 1556 Color the ball(线段树区间更新)

    Color the ball 我真的该认真的复习一下以前没懂的知识了,今天看了一下线段树,以前只会用模板,现在看懂了之后,发现还有这么多巧妙的地方,好厉害啊 所以就应该尽量搞懂 弄明白每个知识点 [题 ...

  6. log4cplus 直接创建logger 对象

    #include <log4cplus/loggingmacros.h> #include <log4cplus/fileappender.h> #include <lo ...

  7. Nhibernate对应关系参数介绍

    一.多对一关联映配置介绍 <many-to-one name="PropertyName" 属性名 column="column_name" 数据库字段名 ...

  8. twitter点赞动画详解

    今天在微博上看到@过气网红一丝 的一篇微博,codepen上贴出了twitter点赞那个动画效果的源码,地址 http://codepen.io/yisi/pen/LpXVJb .我看了下效果很好看, ...

  9. [源码]DataIOStream 数据流 处理基本数据类型的流

    纵骑横飞  章仕烜   首先我们来看一下 DataOutputStream   /**  * A data output stream lets an application write primit ...

  10. C++与零值比较

    1.布尔值与零值的比较 if(flag)//if为真 if(!flag)//if为假 其它都为不良风格: if (flag == TRUE) ) if (flag == FALSE) ) 2.整形值与 ...