将Excel的内容复制到EasyUI的dataGrid里(复制列)

本文介绍了一种将Excel内容高效复制到EasyUI的dataGrid的方法。通过自写的JS,能够快速处理大量数据,如10006条记录仅需10秒。JS代码和HTML示例展示了如何实现这一功能,支持列复制,不支持行复制。
摘要由CSDN通过智能技术生成

在网上找了好久,将Excel的内容复制到EasyUI的dataGrid里,都没有找到相应的解决方案,于自己写了段JS,性能也可以,经过测试复制Excel里10006条数据,只需要10秒左右。

JS:comm.component.js

var comm = {};
    comm.clipboard = {};

//ctrol + v 事件
comm.clipboard._cellkeydown = function(event, id, gid){
    var _id = id;
    if (event.ctrlKey && event.keyCode == 86 && id) {
        var _help = document.getElementById(id);
        _help.focus();
        _help.select();
        var fncall = "comm.clipboard._dealwithData('"+_id+"','"+gid+"')";
        setTimeout(fncall,50);
    }            
    _help = fncall = event =  id = null;
}
//将粘贴事件转移到textArea中
comm.clipboard._dealwithData = function(id, gid){
    var _help = document.getElementById(id);
    _help.blur();
    var excelValues = comm.clipboard._getColumnsByClipboard($(_help).val()),
        rowIndex = comm.clipboard.curIdx,
        field = comm.clipboard.curField;
        comm.datagrid.excel2grid(gid,rowIndex,field,excelValues);
    _help = id = null;
}
//将贴过来的Excel中内容分解成数组
comm.clipboard._getColumnsByClipboard = function(context){
    var cols= [];
    if(context){
        cols = context.split('\n');
        if('' == cols[cols.length - 1]){
            cols.pop();
        }
    }
    context = null;
    return cols;
}
/**
 *设置gridid在idx行的第fieldName列为fieldValue
 *@gridid grid的I
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值