Veri Sıralaması Yaparken Özel Sıralama Uyarısını Belirtme
Olası Kullanım Senaryoları
Lütfen bu metinsel verileri düşünün yani {11, 111, 22}. Bu metinsel veriler, 111’in 22’den önce geldiği için bu şekilde sıralanır. Ancak, bu verileri metin olarak değil de sayılar olarak sıralamak istiyorsanız, o zaman {11, 22, 111} olur çünkü sayısal olarak 111, 22’den sonra gelir. Aspose.Cells, bu sorunla başa çıkmak için DataSorter.SortAsNumber özelliğini sağlar. Lütfen bu özelliği true olarak ayarlayın ve metinsel verileriniz sayısal veriler olarak sıralanacaktır. Aşağıdaki ekran görüntüsü, metinsel veri gibi gözüken, aslında sayısal veri olan verilerin sıralandığında Microsoft Excel tarafından gösterilen sıralama uyarısını gösterir.
Örnek Kod
Aşağıdaki örnek kod, önceden açıklandığı gibi DataSorter.SortAsNumber özelliğinin kullanımını açıklar. Daha fazla yardım için örnek Excel dosyasını ve çıktı Excel dosyasını kontrol edebilirsiniz.
// 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"); |