在排序数据时指定排序警告
Contents
[
Hide
]
可能的使用场景
请考虑此文本数据,即{11, 111, 22}。此文本数据会被排序,因为就文本而言,111排在22之前。但如果你希望以数字方式排序,而不是文本,则排序结果将是{11, 22, 111},因为从数字角度看,111在22之后。Aspose.Cells for Node.js via C++提供了{0}属性来处理此问题。请将此属性设置为true,这样你的文本数据就会作为数字数据进行排序。以下截图显示了当以数字方式排序类似数字的文本数据时,Microsoft Excel提示的排序警告。
示例代码
下面的示例代码说明了如何使用前面解释的DataSorter.setSortAsNumber属性。有关更多帮助,请查看其示例Excel文件和输出Excel文件。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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"); |