使用react-copy-to-clipboard复制一整列数据到excel中显示问题

一、问题描述:

使用react-copy-to-clipboard将table中一列数据复制到excel中,显示为一行,没有换行显示。

二、实际效果:

复制黏贴到excel中换行显示。

三、为什么会出现这样的问题:

1、excel中的换行"\r\n";

2、使用react-copy-to-clipboard复制一整列数据到excel中显示问题

使用方式如图。

3、copy-to-clipboard将原生js实现复制粘贴的功能进行了封装,主要代码见下图:

使用react-copy-to-clipboard复制一整列数据到excel中显示问题

粘贴的内容实则放在了span元素标签里面,span标签本身将"\r"过滤掉了,只识别"\n",所以导致excel里面内容显示为一行;

四、解决办法:

1、复现组件的js,将其标签改为pre标签;

2、复制粘贴代码本身实现起来并不难,可以将此部分内容实现一遍,不使用组件;

五、总结:

    遇到问题需一步步追踪问题的本源,看源码不失为一种有效的办法。这次遇到的问题时解决的思路:先将复制来的数据粘贴到控制台里,看看控制台里输出的换行符究竟是哪些字符,然后再看源码里面的实现。