javaScript批量粘贴

例如我们要把execl中的一批数据(如图1)copy到我们程序中(如图2)。

 图1:

 

图2:

 

js:

function pasteColumns(element,e){
 //CTRL+V键
 if(event.ctrlKey && window.event.keyCode == 86){
  //定位到当前想要粘贴的起始行
  var $tr;
  var $trNew;
  var $cellNew;
  $tr = null;
  $tr = $(element).parents("tr");
  //起始列
  var columnBeginTag = $(element).attr("monthTag")==''?parseFloat('1'):parseFloat($(element).attr("monthTag"));
  //获取内容将要粘贴到的区域,未包含当前行
  var trs = $tr.nextAll("tr[trTag='detailColumn']");
  
  //获取缓存复制或者剪切出来的数据,text只取出文本内容,不包括文件、图像
  var clipText = window.clipboardData.getData('Text');
  //分隔每个单元格的数据 ,13标示enter键、9标示tab键产生的效果
  var clipRows = clipText.split(String.fromCharCode(13));
  for (var i=0; i<clipRows.length; i++) {
   clipRows[i] = clipRows[i].split(String.fromCharCode(9));
  }
  
  for (var i=0; i<clipRows.length - 1; i++) {
   $trNew = null;
   $trNew = i==0?$tr:$(trs[i-1]);
   if($trNew.length != 0){
    var monthTag = parseFloat(columnBeginTag);
    for (j=0; j<clipRows[i].length; j++) {
     $cellNew = null;
     $cellNew = $trNew.find("input[monthTag='"+parseFloat(monthTag + j)+"']");
     if($cellNew.length != 0){
      if (clipRows[i][j].length == 0) {
       $cellNew.val('0');
      }else {
       $cellNew.val(clipRows[i][j]);
      }
      $cellNew.blur();
     }
    } 
   }
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值