안녕하세요 메시어스입니다.
오래 기다려 주셔서 감사합니다.
현재 사용하시는 버전에서는 아래 코드로 구현은 가능합니다.
Workbook workbook = new Workbook();
workbook.open("D:\\Downloads\\sortText.ssjson");
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("B7:D7").setValue(new Object[] { 4, "a", "aa" });
worksheet.getRange("B8:D8").setValue(new Object[] { 6, "c", "cc" });
worksheet.getRange("B9:D9").setValue(new Object[] { 5, "b", "bb" });
IAutoFilter filter = worksheet.getAutoFilter();
ISort sort = filter.getSort();
// need to set the range to be re-sorted
sort.setRange(worksheet.getRange("B3:D9"));
sort.getSortFields().clear();
// need to set the column for sorting and sort order
sort.getSortFields().add(new ValueSortField(sort.getRange().getColumns().get(0), SortOrder.Descending));
sort.apply();
Files.write(Paths.get("D:\\Downloads\\abc.json"), workbook.toJson().getBytes(StandardCharsets.UTF_8));
다만, 현재 버전에서는 기존 sortOrder의 정보를 가져올 수 없는 문제가 있어 수동으로 설정해 주어야 합니다.
그래서 기존의 sortOrder의 정보를 가져올 수 있도록 추가로 개발 중입니다.
해당 기능은 7.1버전에서 지원할 예정이며, 5월 중 출시 예상됩니다.
추후 7.1버전이 출시되면 다시 한 번 안내 드리도록 하겠습니다.
감사합니다.
메시어스 드림