gpt4 book ai didi

javascript - 使用nodejs对给定列的excel文件进​​行排序

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:26 24 4
gpt4 key购买 nike

我在 Excel 中有一个范围,我需要根据 ID 列对 Excel 文件进行排序。数据的范围始终是从 A1 列到 A[row_count] 列。我尝试使用 exceljs用于此操作的模块,但我没有找到任何排序功能。如何以编程方式实现排序?

这是我的 Excel 文件内容。

  • ID |申请人|状态 |评论
  • 3224 |Armin Barrywater |审查中 |承销商将于下周到期。
  • 3244 |Georgi Angelchov |新 |
  • 3257 |伊梅尔达·桑切斯 |新 |
  • 3223 |Jack Banner |已批准 |
  • 3226 |Perry Kane |等待 |等待客户的文件。
  • 3225 |Shiela Donahue |审查中 |
  • 3235 |Xavier Fannello |新 |

最佳答案

这不是我的答案(我没有测试过),我在以下链接中找到了一个:

https://github.com/guyonroche/exceljs/issues/363#issuecomment-435692059

const sortByColumn = columnNum => {
if (worksheet) {
columnNum--;
const sortFunction = (a, b) => {
if (a[columnNum] === b[columnNum]) {
return 0;
}
else {
return (a[columnNum] < b[columnNum]) ? -1 : 1;
}
}
let rows = [];
for (let i = 1; i <= worksheet.actualRowCount; i++) {
let row = [];
for (let j = 1; j <= worksheet.columnCount; j++) {
row.push(worksheet.getRow(i).getCell(j).value);
}
rows.push(row);
}
rows.sort(sortFunction);
// Remove all rows from worksheet then add all back in sorted order
worksheet.spliceRows(1, worksheet.actualRowCount);
// Note worksheet.addRows() may add them to the end of empty rows so loop through and add to beginnning
for (let i = rows.length; i >= 0; i--) {
worksheet.spliceRows(1, 0, rows[i]);
}
}
}

关于javascript - 使用nodejs对给定列的excel文件进​​行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46211846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com