zoukankan      html  css  js  c++  java
  • 生成可以粘贴到excel的表格数据

    最近遇到一个比较有趣的需求:
    现有一个数据统计分析页面,主体内容是table,列出了筛选后的数据,想要复制其中的数据到剪贴板,然后粘贴到EXCEL中,方便进行后续的处理。
     
    思路:
    经过一番调研与实验,发现EXCEL对数据分行、分列的依据是数据中的制表符、换行符,也就是说只要在合适的位置插入制表符、换行符就可以实现我们想要的效果了。
    不过,制表符和换行符是不可见的,键盘上也不能直接输入,要怎么实现呢?继续google,发现制表符对应的ascii是9,换行符对应的ascii是10,js则可以使用String.fromCharCode生成制表符和换行符,如下所示。
     
    String.fromCharCode(9)  // 制表符,用于分列
    String.fromCharCode(10) // 换行符,用于换行
     
    实战:
    我们实际测试一下效果,预计生成一个如下的表格。

     对应的代码就是:

    [1,String.fromCharCode(9),2,String.fromCharCode(9),3,String.fromCharCode(10),4,String.fromCharCode(9),5,String.fromCharCode(9),6].join('')
     
    将代码复制到浏览器执行,得到如下的结果:
    1 2 3
    4 5 6
    复制到EXCEL中试试看,如下图所示:

     效果还不错,满足我们的需求,也足够灵活,看起来没有什么坑,进一步封装一下,实现一个二维数组数据 to EXCEL数据的方法就完成了。

  • 相关阅读:
    bbs与blog的区别
    论坛的一个大弱点,就是知识的无序化,这一点有时阻碍了论坛的长久发展,造成了集体智慧的流失。
    中国百科
    网上的意识流整理,
    商业模式是怎么练成的?
    无线电的共享
    超细分众
    关于wifi社区
    图像话讨论区
    关于桌面软件的功能
  • 原文地址:https://www.cnblogs.com/jydeng/p/13938280.html
Copyright © 2011-2022 走看看