Vue实现复制excel表格内容粘贴至网页


一.实现效果

在这里插入图片描述

二。原理

因为现在的谷歌等浏览器从安全等角度考虑,禁止直接读取剪切板上的东西。所以要手动的实现粘贴的这一步,通过粘贴到text文档上,然后,使用for遍历,根据 \n 把每一行分开,然后再根据\t 把每一列的数据都提取出出来,对应着存入到表格中。


三.具体代码

   CopyExcelToTable(demo, data, source, clear) {

                if (clear) { // 清空原有元素
                    data.splice(0, data.length);
                }

                // 首先对源头进行解析
                let rows = source.split("\n"); // 拆成很多行
                for (let i = 0; i < rows.length; i++) {
                    if (rows[i] != "") { // 如果某一行不是空,再按列拆分
                        let columns = rows[i].split("\t"); // 已经按列划分
                        let dataone = {}; // 声明一行数组
                        for (let j = 0; j < columns.length; j++) {
                            // 读取demo里的第j对应的key值
                            let keys = Object.keys(demo); // key的名
                            dataone[keys[j]] = columns[j];
                        }
                        data.push(dataone);
                    };
                }
                // 关闭显示框,情况text表的数据
                this.biao4text.show = false;
                this.guanzhujiegou.zhijingshekongduan.biao3text = false;
                this.$forceUpdate();
                this.biao4text.text = "";
                this.$forceUpdate();
            },
posted @ 2021-03-30 19:55  沧海一声笑rush  阅读(1515)  评论(0编辑  收藏  举报