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

可能的使用场景

请考虑此文本数据,即{11, 111, 22}。此文本数据会被排序,因为就文本而言,111排在22之前。但如果你希望以数字方式排序,而不是文本,则排序结果将是{11, 22, 111},因为从数字角度看,111在22之后。Aspose.Cells for Node.js via C++提供了{0}属性来处理此问题。请将此属性设置为true,这样你的文本数据就会作为数字数据进行排序。以下截图显示了当以数字方式排序类似数字的文本数据时,Microsoft Excel提示的排序警告。

todo:image_alt_text

示例代码

下面的示例代码说明了如何使用前面解释的DataSorter.setSortAsNumber属性。有关更多帮助,请查看其示例Excel文件输出Excel文件

//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");