Указание предупреждения сортировки при сортировке данных
Возможные сценарии использования
Рассмотрите эти текстовые данные, т.е. {11, 111, 22}. Эти текстовые данные отсортированы, потому что в терминах текста, 111 идет перед 22. Но если вы хотите сортировать эти данные не как текст, а как числа, то результат будет {11, 22, 111}, потому что численно 111 идет после 22. API Aspose.Cells for Node.js via C++ предоставляет свойство {0} для решения этой проблемы. Установите это свойство в true, и ваши текстовые данные будут отсортированы как числовые. Следующий снимок показывает предупреждение о сортировке, которое отображает Microsoft Excel при сортировке текстовых данных, похожих на числовые.
Образец кода
В следующем образце кода показано использование свойства DataSorter.setSortAsNumber, как объяснено ранее. Пожалуйста, проверьте его образцовый файл Excel и выходной файл Excel для получения дополнительной помощи.
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
const AsposeCells = require("aspose.cells.node"); | |
//Create workbook. | |
var workbook = new AsposeCells.Workbook("sampleSortAsNumber.xlsx"); | |
//Access first worksheet. | |
var worksheet = workbook.getWorksheets().get(0); | |
//Create your cell area. | |
var ca = AsposeCells.CellArea.createCellArea("A1", "A20"); | |
//Create your sorter. | |
var sorter = workbook.getDataSorter(); | |
//Find the index, since we want to sort by column A, so we should know the index for sorter. | |
var idx = AsposeCells.CellsHelper.columnNameToIndex("A"); | |
//Add key in sorter, it will sort in Ascending order. | |
sorter.addKey(idx, AsposeCells.SortOrder.Ascending); | |
sorter.setSortAsNumber(true); | |
//Perform sort. | |
sorter.sort(worksheet.getCells(), ca); | |
//Save the output workbook. | |
workbook.save("outputSortAsNumber.xlsx"); |