java json csv_彻底理解使用JavaScript 将Json数据导出CSV文件

前言

将数据报表导出,是web数据报告展示常用的附带功能。通常这种功能都是用后端开发人员编写的。今天我们主要讲的是直接通过前端js将数据导出Excel的CSV格式的文件。

原理

首先在本地用Excel新建一个test.csv的文件 ===> 随便填写一些数据,保存并用Safari浏览打开该文件 ===> 打开浏览器的开发者工具,执行JSON.stringify(document.body.innerText);,我们得到结果如下图:

java json csv_彻底理解使用JavaScript 将Json数据导出CSV文件_第1张图片

从图中,可以看出:

CSV文件格式单元格之间是通过,隔开的

CSV文件格式里,换行是通过\n实现的

从上面两条结论,我们只有把相应的数据转换成,和\n就可以了。但其实真正的答案应该是把相应的数据转换成,和\r\n。

为什么会这样?且让我一一道来:

我们在编辑Excel文件时,当编辑完成当前单元格时,想要编辑下一行紧挨着的单元格,按一下Enter键就可以。而Enter键在js字符串中是用\r表示的。那是不是吧\n替换成\r就可以了呢?

其实不可以,因为涉及到操作系统的问题:

在Windows系统中,标准模式采用的是\r\n匹配Enter键

在mac系统中,用\r匹配Enter键

在Linux系统中,用\n匹配E

你可能感兴趣的:(java,json,csv)