Daten in Spalte mit benutzerdefinierter Sortierliste sortieren.
Mögliche Verwendungsszenarien
Sie können Daten in der Spalte mit einer benutzerdefinierten Liste sortieren. Dies kann mit DataSorter.addKey Methode durchgeführt werden. Diese Methode funktioniert jedoch nur, wenn die Elemente in der benutzerdefinierten Liste keine Kommata enthalten. Falls sie Kommata wie “USA,US”, “China,CN” usw. enthalten, müssen Sie die **DataSorter.addKey(number, SortOrder, string[])** Methode verwenden. Hier ist der letzte Parameter kein String, sondern ein Array von Strings.
Daten in Spalte mit benutzerdefinierter Sortierliste sortieren
Der folgende Beispielcode erklärt, wie die **DataSorter.addKey(number, SortOrder, string[])** Methode zum Sortieren von Daten mit einer benutzerdefinierten Sortierliste verwendet wird. Bitte sehen Sie die Beispieldatei Excel, die in diesem Code verwendet wird, und die Ausgabedatei Excel, die daraus generiert wurde. Das folgende Screenshot zeigt die Wirkung des Codes auf die Beispiel-Excel-Datei bei der Ausführung.

Beispielcode
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Custom Sort List</title>
</head>
<body>
<h1>Custom Sort List Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object from uploaded file
const wb = new Workbook(new Uint8Array(arrayBuffer));
// Access first worksheet
const ws = wb.worksheets.get(0);
// Specify cell area - sort from A1 to A40
const ca = AsposeCells.CellArea.createCellArea("A1", "A40");
// Create Custom Sort list
const customSortList = ["USA,US", "Brazil,BR", "China,CN", "Russia,RU", "Canada,CA"];
// Add Key for Column A, Sort it in Ascending Order with Custom Sort List
wb.dataSorter.addKey(0, AsposeCells.SortOrder.Ascending, customSortList);
wb.dataSorter.sort(ws.cells, ca);
// Save the output Excel file
const outputData = wb.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'outputSortData_CustomSortList.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Sorting completed successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>