在排序数据时指定排序警告

可能的使用场景

请考虑这个文本数据,例如 {11, 111, 22}。这个文本数据以这种方式排序是因为按照文本,111在22之前。但是,如果您想将这些数据按照数字而不是文本排序,则会变成 {11, 22, 111},因为从数字上来看,111在22之后。Aspose.Cells提供了DataSorter.SortAsNumber属性来处理这个问题。请将此属性设置为true,您的文本数据将被视为数字数据排序。以下截图显示了当类似于数字数据的文本数据被排序时,Microsoft Excel显示的排序警告。

todo:image_alt_text

示例代码

以下示例代码说明了如前述所述使用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");