js通过CSV倒入excel数据

造轮子:
简单使用js将excel导入到页面。

首先将excel另存为csv格式(否则要使用zipjs,才能导入,并且只支持xlsx,不支持xls)

csv格式分析:
规则的如:

1,2,3
4,5,6

是不是感觉用英文逗号就可以分离每一cell了?
年轻人,说了每一个cell用英文逗号隔开,不代表每一个cell里都是纯洁的啊!
如果这几个:
每一个cell,用英文逗号隔开,如果中间出现双字节字符或空格或英文逗号,cell会加上双引号

1,,
4,5,6
1,"hello word",3,
4,5,6
1,",,,,,,",3,
4,5,6

分析到这里,就知道没有这么简单。不过还是有规律的。

1,可以用正则先匹配出",,,,,,"这种特殊情况
2,把双引号中间的英文逗号用自定义的一个分隔符替换:<|>

",,,,,,"
"<|><|><|><|><|><|>"

3,处理完之后,再把<|>替换回去,变成英文逗号。
4,当然这里也会有点小bug,就是excel中如果自带了<|>自定义的分隔符呢?我没有好办法,手动改分隔符呗。你有好方法告诉我哦!

下面就是带有完整注释的方法体了

    
    

你可能感兴趣的:(javascript,excel)