我正在创建一个实用程序,读取表中存在的数据,并单击下载按钮,从表中的数据应该导出到csv文件。
目前,从服务器端获取数据的顺序是预期的。但是,在客户端的控制台中,数据会自动按字母顺序排序。因此,以csv格式下载的数据也不是按照预期的顺序。
例如。我在表中有以下数据,我正在按照给定的顺序读取:
表Employee
Sr。没有 | EmployeeID | 名称 | 1 | 12345 | Abc |
---|
我会存储您想要的CSV列的顺序,我会循环从对象生成CSV数据,而不依赖于对象键顺序。
var data = [{
EmployeeID: 12345,
Name: "ABC",
"Sr.No": 1
}, {
EmployeeID: 6789,
Name: "CDE",
"Sr.No": 2
}];
var csvOrder = ['Sr.No', 'EmployeeID', 'Name'];
function processCSV(columns, data) {
var header = csvOrder.join(",");
var rows = data.map(function (row) {
const rowData = csvOrder.map(function (key){ return row[key]; });
return rowData.join(",");
});
rows.unshift(header);
return rows.join("nr");
}
console.log(processCSV(csvOrder, data));