Ячейки сортировки Aspose на основе строки в качестве ключа в Java

У меня есть файл Excel с некоторыми столбцами, объединенными, как показано на снимке экрана, я хочу отсортировать верхние столбцы в порядке возрастания и их соответствующие значения, а затем я отсортирую COLUMN1, COLUMN2, Column3Но прежде чем я хочу отсортировать ТОП заголовки столбцов, например: TOP COLUMN A должен прийти первым и соответствующий Sub column и значения этих шести столбцов TOP.

Область содержимого, которую я смог отсортировать, но как мне добиться сортировки для заголовков TOP Cols?

ДО

ПОСЛЕ

1 ответ

Решение

Поскольку вы хотите сортировать данные слева направо, вам нужно установить следующее свойство в true.

Workbook.getDataSorter().setSortLeftToRight(true);

Пожалуйста, смотрите следующий код. Сортирует данные слева направо по строке 3. Вы также можете добавить больше уровней.

Джава

// Load your Excel file
Workbook wb = new Workbook(dirPath + "sort.xlsx");

// For the first key, we want to sort by assending order
// And we want to sort by row not by column
// using SortLeftToRight property
wb.getDataSorter().setOrder1(SortOrder.ASCENDING);
wb.getDataSorter().setSortLeftToRight(true);

// Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);

// Specify the range of cells
CellArea ca = CellArea.createCellArea("A1", "I7");

// We want to sort by row 3, since index starts from 0
// So 2 means 3
wb.getDataSorter().setKey1(2);

// Sort the workbook data
wb.getDataSorter().sort(ws.getCells(), ca);

// Save the output Excel file
wb.save(dirPath + "output.xlsx");

Примечание: я работаю в качестве разработчика евангелиста в Aspose

Другие вопросы по тегам