问题描述:
偶尔会遇到读取 Excel 数据的场景
如果是在网页中,可以上传文件然后处理(可借助 js-xlsx 等插件)
如果有 node 服务,也可以使用类似的操作
不过如果是在应用外,只是临时拿到一个 Excel,需要一些数据分析,可以用更轻量的办法,比如复制粘贴...
解决方案:
全选并复制粘贴 Excel 的内容,会得到一个字符串,其中用 '\t' 划分列,用 '\n' 换行
所以如果数据不复杂,可以直接通过 split 处理为二维数组:
function splitExcelToArray(str) { return str.split('\n').map((x) => x.split('\t')) }
但如果单元格中有换行符 '\n', 这个函数就不适用
这时候可以手动在表格的首列前再加一列特殊字符,用于标记换行
// 手动在 Excel 插入特殊字符列 const MARK = '@@$$@@'; function splitExcelByMark(str, mark) { return str.split(mark).map((x) => x.split('\t').slice(1)) }
标签:function,str,Excel,二维,JSON,split,数组 From: https://www.cnblogs.com/wisewrong/p/17172344.html