Özel Sıralama Listesi ile Sütunda Verileri Sıralama

Olası Kullanım Senaryoları

Sütundaki veriyi özel bir liste kullanarak sıralayabilirsiniz. Bu DataSorter.addKey yöntemiyle yapılabilir. Ancak, bu yöntem yalnızca özel listedeki öğelerde virgül yoksa çalışır. Eğer “USA,US”, “Çin,CN” gibi virgüller içeriyorsa, o zaman **DataSorter.addKey(number, SortOrder, string[])** yöntemini kullanmanız gerekir. Burada, son parametre String değil, bir String Dizisidir.

Özel Sıralama Listesi ile Sütunda Verileri Sıralama

Aşağıdaki örnek kod, **DataSorter.addKey(number, SortOrder, string[])** yöntemini kullanarak özel sıralama listesi ile veriyi nasıl sıralayacağınızı gösterir. Bu kodda kullanılan örnek Excel dosyasını ve bunun tarafından oluşturulan çıkış Excel dosyasını inceleyin. Aşağıdaki ekran görüntüsü, kodun çalışma anında örnek Excel dosyasına olan etkisini gösterir.

todo:image_alt_text

Örnek Kod

<!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>