Specificera sorteringsvarning vid sortering av data
Möjliga användningsscenario
Överväg denna textdata dvs. {11, 111, 22}. Denna textdata sorteras eftersom, i termer av text, kommer 111 före 22. Men om du vill sortera denna data inte som text utan som nummer, kommer det att bli {11, 22, 111} eftersom 111 numeriskt kommer efter 22. Aspose.Cells tillhandahåller {0} egenskapen för att hantera detta problem. Ställ in denna egenskap true och din textdata kommer att sorteras som numerisk data. Följande skärmdump visar sorteringsvarningen som visas av Microsoft Excel när textdata som ser ut som numerisk data sorteras.
Exempelkod
Den följande exemplarkoden illustrerar användningen av DataSorter.SortAsNumber-egenskapen enligt tidigare förklaring. Kontrollera dess exempelfil för Excel och utdatafil för Excel för mer hjälp.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
//Create workbook. | |
Workbook workbook = new Workbook(dataDir + "sampleSortAsNumber.xlsx"); | |
//Access first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
//Create your cell area. | |
CellArea ca = CellArea.CreateCellArea("A1", "A20"); | |
//Create your sorter. | |
DataSorter sorter = workbook.DataSorter; | |
//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.SortAsNumber = true; | |
//Perform sort. | |
sorter.Sort(worksheet.Cells, ca); | |
//Save the output workbook. | |
workbook.Save(dataDir + "outputSortAsNumber.xlsx"); |