fileRead实现import csv功能

html代码:

 <label 
 class="btn-submit" 
 id="import_csv_span"  
 for="csv-file-input" 
 style="display:inline-block">
 <span class="btn-txt">Import CSV</span> 
 </label>
 <input 
 type="file" 
 class="csv-file-input" 
 id="csv-file-input">

分析html代码:主要是lable和input,

.csv-file-input {
    position: absolute;
    left: 0px;
    top: 6px;
    opacity: 0;
    width: 100%;
}
事件:
events:{ "change #csv-file-input": "importCsv"}
事件函数:
 getFiles: function (files, callback) {
    var fileType = $("#csv-file-input").val().split(".");
    if ((fileType[fileType.length - 1]) === "csv" || (fileType[fileType.length - 1]) === "CSV") {
      var reader = new FileReader();
      reader.readAsText(files[0], "UTF-8");
      reader.onload = function (evt) {
        var fileString = evt.target.result;
        var thead = fileString.split("\n")[0].split(",");
        var fileSp = fileString.split("\n");
        for (var i = 1; i < fileString.split("\n").length - 1; i++) {
          var value;
          var aclData = {};
          for (var j = 0; j < thead.length; j++) {
            value = fileSp[i].split(",")[j];
            aclData[thead[j]] = value;
          }
          callback(aclData);
        }
      };
    }

  },
  importCsv: function (e) {
    var _this = this;
    var files = e.target.files;
    this.getFiles(files, function (aclData) {
      _this.collection.add(aclData);
      _this.collection.trigger("change");
    });
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值