Daten sortieren
Daten sortieren in Microsoft Excel
Um Daten in Microsoft Excel zu sortieren:
- Wählen Sie Daten im Sortieren-Menü aus. Der Sortieren-Dialog wird angezeigt.
- Wählen Sie eine Sortieroption aus.
Im Allgemeinen wird das Sortieren auf einer Liste durchgeführt - definiert als eine zusammenhängende Gruppe von Daten, bei der die Daten in Spalten angezeigt werden.
Daten mit Aspose.Cells sortieren
Das Aspose.Cells for JavaScript über C++ stellt die DataSorter Klasse bereit, die zum Sortieren von Daten in aufsteigender oder absteigender Reihenfolge verwendet wird. Die Klasse hat einige wichtige Mitglieder, z.B. Eigenschaften wie Key1 … Key3 und Order1 … Order3. Diese Mitglieder werden verwendet, um sortierte Schlüssel zu definieren und die Sortierreihenfolge festzulegen.
Sie müssen Schlüssel definieren und die Sortierreihenfolge festlegen, bevor Sie das Daten sortieren implementieren. Die Klasse bietet die DataSorter.sort-Methode, die verwendet wird, um Daten nach den Zelldaten in einem Arbeitsblatt zu sortieren.
Die DataSorter.sort-Methode akzeptiert die folgenden Parameter:
- Cells, die Zellen für das zugrunde liegende Arbeitsblatt.
- CellArea, der Bereich von Zellen. Definieren Sie den Zellenbereich, bevor Sie das Daten sortieren anwenden.
In diesem Beispiel wird die Vorlagendatei “Buch1.xls” verwendet, die in Microsoft Excel erstellt wurde. Nach Ausführen des unten stehenden Codes wird die Daten entsprechend sortiert.
<!DOCTYPE html>
<html>
<head>
<title>DataSorter Example</title>
</head>
<body>
<h1>DataSorter 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 } = 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();
// Instantiate a Workbook from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Get the workbook datasorter object.
const sorter = workbook.dataSorter;
// Set the first order for datasorter object.
sorter.order1 = AsposeCells.SortOrder.Descending;
// Define the first key.
sorter.key1 = 0;
// Set the second order for datasorter object.
sorter.order2 = AsposeCells.SortOrder.Ascending;
// Define the second key.
sorter.key2 = 1;
// Create a cells area (range).
const ca = new AsposeCells.CellArea();
// Specify the start row index.
ca.startRow = 0;
// Specify the start column index.
ca.startColumn = 0;
// Specify the last row index.
ca.endRow = 13;
// Specify the last column index.
ca.endColumn = 1;
// Sort data in the specified data range (A1:B14)
sorter.sort(workbook.worksheets.get(0).cells, ca);
// Save the excel file.
const outputData = workbook.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified 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>
Daten mit Hintergrundfarbe sortieren
Excel bietet Funktionen zum Sortieren von Daten basierend auf Hintergrundfarben. Dieselbe Funktion ist mit dem Aspose.Cells for JavaScript über C++ unter Verwendung von DataSorter verfügbar, wobei SortOnType.CellColor in DataSorter.addKey zum Sortieren der Daten nach Hintergrundfarbe verwendet werden kann. Alle Zellen, die in der Funktion einen bestimmten Farbcode enthalten, werden entsprechend dem SortOrder-Set auf die oberste oder unterste Position gesetzt, ohne die Reihenfolge der übrigen Zellen zu verändern.
Hier sind die Beispiel Dateien, die heruntergeladen werden können, um diese Funktion zu testen:
outputsampleBackGroundFile.xlsx
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Custom Sort by Cell Color</title>
</head>
<body>
<h1>Custom Sort by Cell Color 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 } = 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();
// Instantiate workbook from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access the data sorter (converted from getDataSorter())
const sorter = workbook.dataSorter;
// Add key for second column for red color
sorter.addKey(1, AsposeCells.SortOnType.CellColor, AsposeCells.SortOrder.Descending, AsposeCells.Color.Red);
// Perform the sort on the first worksheet cells (converted from getWorksheets().get(0).getCells())
sorter.sort(workbook.worksheets.get(0).cells, AsposeCells.CellArea.createCellArea("A2", "C6"));
// Save the modified workbook and provide download link
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'outputSortData_CustomSortList.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Sorted 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>