zl程序教程

您现在的位置是:首页 >  工具

当前栏目

jQuery仿Excel表格编辑功能的实现代码

jQueryExcel代码 实现 功能 表格 编辑
2023-06-13 09:14:52 时间

  在Excel中可进行的操作,你几乎都可以在网页中做到,如拖动复制、Ctrl+C、Ctrl+V等等。

  另外在浏览器支持方面,它支持以下的浏览器IE7+,FF,Chrome,Safari,Opera。

如何使用:
    首先在页面中引入jQuery框架和Handsontable插件的相关JS和CSS文件,以下列出的两个是必要的,还有其它的是可选的,如果需要某个功能时就(参看demo)加上。

复制代码代码如下:


   <scriptsrc="jquery.min.js"></script>
   <scriptsrc="jquery.handsontable.full.js"></script>
   <linkrel="stylesheet"href="jquery.handsontable.full.css">

  然后添加一个用于呈现Excel编辑表格的DIV层

复制代码代码如下:


<divid="example1"></div>

  最后就可以对其进行初始化了

复制代码代码如下:
//数据
           vardata=[
             {id:1,name:"Ted",isActive:true,color:"orange"},
             {id:2,name:"John",isActive:false,color:"black"},
             {id:3,name:"Al",isActive:true,color:"red"},
             {id:4,name:"Ben",isActive:false,color:"blue"}
           ];
           //黄色渲染方法
           varyellowRenderer=function(instance,td,row,col,prop,value,cellProperties){
             Handsontable.TextCell.renderer.apply(this,arguments);
             $(td).css({
               background:"yellow"
             });
           };
           //绿色渲染方法
           vargreenRenderer=function(instance,td,row,col,prop,value,cellProperties){
             Handsontable.TextCell.renderer.apply(this,arguments);
             $(td).css({
               background:"green"
             });
           };
           //初始化
           var$container=$("#example1");
           $container.handsontable({
             data:data,
             startRows:5,
             colHeaders:true,
             minSpareRows:1,
             columns:[
               {data:"id"},
               {data:"name",type:{renderer:yellowRenderer}},//黄色渲染
               {data:"isActive",type:Handsontable.CheckboxCell},//多选框
               {data:"color",
                 type:Handsontable.AutocompleteCell,//自动完成
                 source:["yellow","red","orange","green","blue","gray","black","white"]//数据源
               }
             ],
             cells:function(row,col,prop){
               if(row===0&&col===0){
                 return{type:{renderer:greenRenderer}};
               }
             }
           });

注意是div容器加载完了之后进行初始化:

demo代码:

复制代码代码如下:
<!DOCTYPEhtml>
<html>
<head>
   <metacharset="UTF-8">
   <title>BasicDemo</title>
   <scriptsrc="jquery.min.js"></script>
   <scriptsrc="jquery.handsontable.full.js"></script>
   <linkrel="stylesheet"href="jquery.handsontable.full.css">
   <script>
       $(function(){
           //数据
           vardata=[
             {id:1,name:"Ted",isActive:true,color:"orange"},
             {id:2,name:"John",isActive:false,color:"black"},
             {id:3,name:"Al",isActive:true,color:"red"},
             {id:4,name:"Ben",isActive:false,color:"blue"}
           ];
           //黄色渲染方法
           varyellowRenderer=function(instance,td,row,col,prop,value,cellProperties){
             Handsontable.TextCell.renderer.apply(this,arguments);
             $(td).css({
               background:"yellow"
             });
           };
           //绿色渲染方法
           vargreenRenderer=function(instance,td,row,col,prop,value,cellProperties){
             Handsontable.TextCell.renderer.apply(this,arguments);
             $(td).css({
               background:"green"
             });
           };
           //初始化
           var$container=$("#example1");
           $container.handsontable({
             data:data,
             startRows:5,
             colHeaders:true,
             minSpareRows:1,
             columns:[
               {data:"id"},
               {data:"name",type:{renderer:yellowRenderer}},//黄色渲染
               {data:"isActive",type:Handsontable.CheckboxCell},//多选框
               {data:"color",
                 type:Handsontable.AutocompleteCell,//自动完成
                 source:["yellow","red","orange","green","blue","gray","black","white"]//数据源
               }
             ],
             cells:function(row,col,prop){
               if(row===0&&col===0){
                 return{type:{renderer:greenRenderer}};
               }
             }
           });
       });
   </script>
</head>
<body>
   <divid="example1"></div>
</body>
</html>