【发布时间】:2021-10-20 11:22:36
【问题描述】:
我正在创建一个实用程序来读取表格中的数据,点击下载按钮后,表格中的数据应该会导出到 csv 文件中。
目前,从服务器端获取数据的顺序符合预期。但是,在客户端的控制台中,数据会自动按字母顺序排序。因此,在 csv 中下载的数据也不符合预期的顺序。
例如。我在表格中有以下数据,我正在按照给定的顺序阅读这些数据:
表员工
| Sr.No | EmployeeID | Name |
|---|---|---|
| 1 | 12345 | Abc |
单击下载按钮后,我在浏览器的控制台中看到以下顺序
{
EmployeeID:12345,
Name:Abc,
Sr.No:1
}
因此下载的 csv 文件中的数据如下所示
EmployeeID,Name,Sr.No
12345,Abc,1
我不想要这个排序顺序,而是应该如下所示
Sr.No,EmployeeId,Name
1,12345,Abc
函数 json2csv(objArray){
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
var str = '';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
line += array[i][index] + ',';
}
line = line.slice(0,-1)
str += line + '\r\n';
}
return str;
}
【问题讨论】:
-
这并不是真正的排序,因为只有一条记录;它是属性的排序。您使用什么将对象转换为 CSV 文件?那应该有一个选项来订购你想要的东西。
-
这里我只展示了一条记录。表中有 100 多条记录。我正在使用 javascript 将 json 转换为 csv。我使用了下面的代码。函数 json2(objArray) {var array=
-
你不能让输出代码呈现顺序吗?生成 CSV 的代码在哪里?不保证对象的顺序。
-
主问题中添加的代码
-
@epascarello 您能否建议如何在上述代码中呈现订单
标签: javascript arrays json ajax sorting