JavaでExcelでデータをソートする


この記事では、Spire.XLS for Java APIを使用して、JavaでプログラミングExcelワークシートでデータをソートする方法を紹介します.
尖塔JavaのXLSは、JavaアプリケーションでExcelファイルを作成、読み取り、操作、変換、および印刷するためにサポートする多機能APIです.Excelでデータのソートを行うには、次の手順に従います.
  • セル値
  • に基づくソートデータ
  • セル・カラー
  • に基づくソート・データ
    フォントカラーに基づくデータをソートする
    次のコード例では、spireを使用してデータをソートする方法を示します.Java API用のXLS.

    ジャーを得る


    this linkからAPIのJARファイルをダウンロードするか、次のMaven設定を使用してインストールできます.
    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId> e-iceblue </groupId>
            <artifactId>spire.xls</artifactId>
            <version>3.11.2</version>
        </dependency>
    </dependencies>
    

    セル値に基づくソートデータ


    import com.spire.xls.*;
    import com.spire.xls.core.spreadsheet.sorting.SortColumn;
    
    public class SortByValues {
        public static void main(String[] args) {
            //Create a Workbook instance
            Workbook workbook = new Workbook();
            //Load the Excel file
            workbook.loadFromFile("SortData.xlsx");
    
            //Get the first worksheet
            Worksheet sheet = workbook.getWorksheets().get(0);
    
            //Create a sort column with the column index, the sort based on and order by attributes
            SortColumn column = workbook.getDataSorter().getSortColumns().add(0, SortComparsionType.Values, OrderBy.Descending);
    
            //Sort specified cell range
            workbook.getDataSorter().sort(sheet.getCellRange("A1:A8"));
    
            //Save the result file
            workbook.saveToFile("SortByValues.xlsx", ExcelVersion.Version2013);
        }
    }
    
    出力されたExcelファイル:

    セルカラーに基づくソートデータ


    import com.spire.xls.*;
    import com.spire.xls.core.spreadsheet.sorting.SortColumn;
    
    import java.awt.*;
    
    public class SortByCellColor {
        public static void main(String[] args) {
            //Create a Workbook instance
            Workbook workbook = new Workbook();
            //Load the Excel file
            workbook.loadFromFile("SortData.xlsx");
    
            //Get the second worksheet
            Worksheet sheet = workbook.getWorksheets().get(1);
    
            //Create a sort column with the column index, the sort based on and order by attributes
            SortColumn column = workbook.getDataSorter().getSortColumns().add(0, SortComparsionType.BackgroundColor, OrderBy.Top);
            //Specify the color to sort the data
            column.setColor(Color.red);
    
            //Sort specified cell range
            workbook.getDataSorter().sort(sheet.getCellRange("A1:A8"));
    
            //Save the result file
            workbook.saveToFile("SortByCellColor.xlsx", ExcelVersion.Version2013);
        }
    }
    
    出力されたExcelファイル:

    フォントの色に基づいてソートデータ


    import com.spire.xls.*;
    import com.spire.xls.core.spreadsheet.sorting.SortColumn;
    
    import java.awt.*;
    
    public class SortByFontColor {
        public static void main(String[] args) {
            //Create a Workbook instance
            Workbook workbook = new Workbook();
            //Load the Excel file
            workbook.loadFromFile("SortData.xlsx");
    
            //Get the third worksheet
            Worksheet sheet = workbook.getWorksheets().get(2);
    
            //Create a sort column with the column index, the sort based on and order by attributes
            SortColumn column = workbook.getDataSorter().getSortColumns().add(0, SortComparsionType.FontColor, OrderBy.Bottom);
            //Specify the color to sort the data
            column.setColor(Color.red);
    
            //Sort specified cell range
            workbook.getDataSorter().sort(sheet.getCellRange("A1:A8"));
    
            //Save the result file
            workbook.saveToFile("SortByFontColor.xlsx", ExcelVersion.Version2013);
        }
    }
    
    出力されたExcelファイル: