Javascript 使用nodejs对给定列的excel文件进行排序

Javascript 使用nodejs对给定列的excel文件进行排序,javascript,node.js,excel,exceljs,Javascript,Node.js,Excel,Exceljs,我在excel中有一个范围,我需要根据ID列对excel文件进行排序。数据的范围始终为A1列到A列[行计数]。我尝试使用模块进行此操作,但未找到任何排序函数。 如何以编程方式实现排序 这是我的excel文件内容 ID |申请人|身份|评论 3224 | Armin Barrywater |审查中|承保人将在下周离开 3244 |乔治安杰尔乔夫|纽约| 3257 |伊梅尔达·桑切斯|纽约| 3223 |杰克旗|批准| 3226 |佩里·凯恩|暂停|等待客户的文书工作 3225 | Shiela

我在excel中有一个范围,我需要根据ID列对excel文件进行排序。数据的范围始终为A1列到A列[行计数]。我尝试使用模块进行此操作,但未找到任何排序函数。 如何以编程方式实现排序

这是我的excel文件内容

  • ID |申请人|身份|评论
  • 3224 | Armin Barrywater |审查中|承保人将在下周离开
  • 3244 |乔治安杰尔乔夫|纽约|
  • 3257 |伊梅尔达·桑切斯|纽约|
  • 3223 |杰克旗|批准|
  • 3226 |佩里·凯恩|暂停|等待客户的文书工作
  • 3225 | Shiela Donahue |审查中|
  • 3235 |泽维尔·范内洛|纽约|
这不是我的答案(我没有测试),我在以下链接中找到了答案:

const sortByColumn=columnNum=>{
if(工作表){
柱状体--;
常量排序函数=(a,b)=>{
如果(a[columnNum]==b[columnNum]){
返回0;
}
否则{
返回(a[columnNum]

const sortByColumn=columnNum=>{
if(工作表){
柱状体--;
常量排序函数=(a,b)=>{
如果(a[columnNum]==b[columnNum]){
返回0;
}
否则{
返回(a[columnNum]我也在寻找这个答案,你找到了吗?不,我还没有找到。如果你找到了解决方案,请让我知道。我也在寻找这个答案,你找到了吗?不,我还没有找到。如果你找到了解决方案,请让我知道。
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]);
    }
  }
}