尝试使用office.js javascript api 按多个条件对 Excel 中的一系列值进行在线排序,但结果非常不一致。我尝试根据第 1 列中的值升序排序,但也根据字体颜色进行排序,因此每个字体颜色都按第 1 列的值升序排序。
结果非常不一致。有更好的方法吗?
async function sort(worksheetName) {
await Excel.run(async (context) => {
worksheet = context.workbook.worksheets.getItem(worksheetName);
console.log("sort worksheet:" + worksheetName);
let myUsedRange = worksheet.getUsedRange();
let lastrow = myUsedRange.getLastRow().load(["rowindex", "values"]);
await context.sync();
let lastrowindex = lastrow.rowIndex + 1;
// Add values to the range
let range = worksheet.getRange("A5:M" + lastrowindex);
console.log("lastrow index sort:" + lastrowindex);
// Sort the range
const sortFields = [
{
key: 1,
sortOn: Excel.SortOn.fontColor,
ascending: true
},
{
key: 1,
sortOn: Excel.SortOn.value,
ascending: true
},
];
range.sort.apply(sortFields);
await context.sync();
});
}
烦人..非常简单..只需要添加颜色.. { 关键:1、 sortOn: Excel.SortOn.fontColor, 颜色:"#000000", 升序:正确 },