Указание предупреждения о сортировке при сортировке данных

Возможные сценарии использования

Пожалуйста, обратите внимание на эти текстовые данные, т.е. {11, 111, 22}. Эти текстовые данные отсортированы таким образом, потому что с точки зрения текста 111 предшествует 22. Но если вы хотите отсортировать эти данные не как текст, а как числа, тогда они станут {11, 22, 111}, потому что численно 111 идет после 22. Aspose.Cells предоставляетDataSorter.SortAsNumber имущества для решения этой проблемы. Пожалуйста, установите это свойствоистинныйи ваши текстовые данные будут отсортированы как числовые данные. На следующем снимке экрана показано предупреждение о сортировке, отображаемое Microsoft Excel при сортировке текстовых данных, которые выглядят как числовые данные.

дело:изображение_альтернативный_текст

Образец кода

Следующий пример кода иллюстрирует использованиеDataSorter.SortAsNumberсобственности, как было объяснено ранее. Пожалуйста, проверьте егообразец файла Excel ивыходной файл Excel для получения дополнительной помощи.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(SpecifyingSortWarningWhileSortingData.class) + "data/";
// Create workbook.
Workbook workbook = new Workbook(dataDir + "sampleSortAsNumber.xlsx");
// Access first worksheet.
Worksheet worksheet = workbook.getWorksheets().get(0);
// Create your cell area.
CellArea ca = CellArea.createCellArea("A1", "A20");
// Create your sorter.
DataSorter sorter = workbook.getDataSorter();
// Find the index, since we want to sort by column A, so we should know
// the index for sorter.
int idx = CellsHelper.columnNameToIndex("A");
// Add key in sorter, it will sort in Ascending order.
sorter.addKey(idx, SortOrder.ASCENDING);
sorter.setSortAsNumber(true);
// Perform sort.
sorter.sort(worksheet.getCells(), ca);
// Save the output workbook.
workbook.save(dataDir + "outputSortAsNumber.xlsx");