Especificar advertencia de ordenación al ordenar los datos
Escenarios de uso posibles
Por favor, considera estos datos textuales: {11, 111, 22}. Estos datos se ordenan porque, en términos de texto, 111 aparece antes que 22. Pero, si quieres ordenar estos datos no como texto sino como números, serán {11, 22, 111} ya que numéricamente 111 aparece después de 22. La API Aspose.Cells for Node.js via C++ proporciona la propiedad {0} para manejar esta situación. Establece esta propiedad en true y tus datos textuales se ordenarán como datos numéricos. La siguiente captura de pantalla muestra la advertencia de ordenamiento que aparece en Microsoft Excel cuando los datos textuales que parecen datos numéricos se ordenan.
Código de muestra
El siguiente código de ejemplo ilustra el uso de la propiedad DataSorter.setSortAsNumber como se explica anteriormente. Consulte su archivo de Excel de ejemplo y archivo de Excel de salida para obtener más ayuda.
//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"); |