我们正在建设中的角1.5.x版本的应用程序,我们正在努力实现一个功能,将允许用户粘贴一个理念来自Excel表格或任何其他电子表格(单列,任意深度的行)的单元格列输入。伍 - 粘贴 - 访问粘贴的数据作为数组或列表
我们已经有了一个包含如内嵌输入数据表如下:
的想法是,当他们粘贴电子表格中的一列复制到一个输入数据,该数据将被解析的单元格,并按降序分配给每个输入。 I.E.如果我将包含[4.52,6.235,9.2301]的一列单元格粘贴到包含15.23的顶部输入中,则15.23将变为4.52,3.1234将变为6.235,并且3.1322将变为9.2301。我们知道如何将变量分配给输入,但我们需要数组格式的剪贴板数据,而不是一个大字符串。
的问题
我们看着这样使用NG粘贴指令和$ event.clipboardData属性,但我们只可以访问数据作为一个字符串,而我们拥有的一种方式解析字符串时,如果我们可以访问以数组或列表形式进入的元素,以防止我们结束时出现任何错误,那么如果我们最终使用分隔符来分解该字符串,那么错误就会少得多。
Here是我们已经尝试过的工作中的重击器。
这里是一个样本数据集复制并粘贴到输入:
出于某种原因,复制从Excel电子表格的列时,它有值之间没有delims。当我们从单个行的多个列复制而不是单个列的多个行时,我可以在'\ n'字符上使用.split()并且它工作正常。但是,最好允许用户从单行和单列中复制。问题是,当你从excel中复制一列时,没有定界符。
0.89663.91783.91773.91773.9178
也就是说从Excel /谷歌片^什么粘贴,但随时把这些值在电子表格中的一列,并从那里复制。我们可以确定粘贴的数据将来自电子表格。
解决方案
关于如何将剪贴板数据作为数组获取的任何想法?
你的意思是,你需要把字符串到数字到数组?这应该足够了'ev.clipboardData.getData('text')。split(“”).map(Number)'。 –
@AlekseySolovey问题是.getData('text')没有返回一个空格作为分隔符的字符串,它返回一个没有实际分隔符值的字符串 –