zoukankan      html  css  js  c++  java
  • react后台管理系统 IE导入文件的兼容性问题

    由于IE浏览器不支持  FileReader,所以在导入文件时做下判断,代码如下

      readWorkbookFromLocalFile  (files,callback) {
        const self = this;
        // const files = e.target.files[0];
        
        const fileReader = new FileReader();
        // 如果IE 浏览器 不支持FileReader
        const staus = FileReader.prototype.readAsBinaryString;
        staus ? fileReader.readAsBinaryString(files) : fileReader.readAsArrayBuffer(files);
    
        fileReader.onload = function(ev) {
            try {
                let data = ev.target.result,
                    workbook = XLSX.read(data, {type: staus ? "binary" : "array"}),
                    persons = []; // 存储获取到的数据
                    if(callback) callback(workbook);
                // 表格的表格范围,可用于判断表头是否数量是否正确
                let fromTo =  "";
                // 遍历每张表读取
                for (let sheet in workbook.Sheets) {
                    if (workbook.Sheets.hasOwnProperty(sheet)) {
                        fromTo = workbook.Sheets[sheet]['!ref'];
                        persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
                    }
                }
                console.log(persons);
                // self.setState({uploadList:persons},() => self._saveXLSXData())
            } catch (e) {
                self.file.value = "";
                console.log("文件类型不正确!");
                return;
            }
        };
    }
    XLSX文件的导入
    君不见,高堂明镜悲白发,朝如青丝暮成雪
  • 相关阅读:
    小孩子要過來了
    生產相關流程記錄
    關于會議記錄
    打算開始了解smartClient
    陽新出貨掃描上線
    纸版相关流程了解记录
    2007年上半年團隊建設計划
    关于小家伙的教育问题
    股市感想
    最近是不是有些消極?
  • 原文地址:https://www.cnblogs.com/lzhflzjx/p/13403578.html
Copyright © 2011-2022 走看看