最近では、スプレッドシートは大量の表形式のデータを保持および共有するために広く使用されています。また、数式の適用、チャートやグラフの生成、データの並べ替えやフィルタリングなど、さまざまな操作を実行できます。スプレッドシートの自動化は、さまざまな業界で革命を起こしました。スプレッドシートの動的な作成と操作により、データ処理が非常に簡単になりました。プログラムでスプレッドシートの操作を実行するために、この記事では、Javaを使用してLinux上でExcelXLSXまたはXLSファイルを最初から作成する方法について説明します。
- LinuxでExcelファイルを作成するためのJavaAPI
- LinuxでExcelXLSXまたはXLSファイルを作成する
- 既存のExcelファイルを編集する
- Excelファイルでグラフを作成する
- XLSXでピボットテーブルを作成する
- XLSXにセルの数式を追加する
LinuxでExcelファイルを作成するためのAPI-無料ダウンロード
Excelファイルの作成と操作には、Aspose.Cells for Javaを使用します。これは、Excelファイルを作成、更新、または変換するための強力なスプレッドシート操作APIです。 APIのJARをダウンロードするか、次の構成を使用してMavenベースのアプリケーションにインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.9</version>
</dependency>
LinuxでExcelファイルを作成する
MS Excelファイルは、複数のセルで構成されるワークシートにデータを保持します。一方、これらのワークシートはワークブックに含まれています。 LinuxでExcelXLSXファイルを最初から作成する手順は次のとおりです。
- Workbookクラスのインスタンスを作成します。
- Workbook.getWorksheets.get()メソッドを使用して、目的のワークシートの参照を取得します。
- A1、B3などのセルの識別子を使用して、ワークシートの目的のセルに値を挿入します。
- Workbook.save()メソッドを使用してブックを保存します。
次のコードサンプルは、Javaを使用してLinux上でExcelXLSXファイルを作成する方法を示しています。
// 新しいブックを作成する
Workbook workbook = new Workbook();
// セルに値を追加する
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// ExcelXLSXファイルとして保存
workbook.save("Excel.xlsx");
以下は、上記のコードサンプルの出力です。
LinuxでExcelXLSXファイルを編集する
既存のExcelファイルをシームレスに変更することもできます。このためには、ファイルをロードし、目的のワークシートにアクセスして、その内容を更新するだけです。以下は、ExcelXLSXファイルを編集する手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- WorksheetクラスとCellクラスをそれぞれ使用して、ワークシートとセルの参照を取得します。
- セルの内容を更新します。
- Workbook.save()メソッドを使用して、更新されたブックを保存します。
次のコードサンプルは、LinuxでExcelファイルを編集する方法を示しています。
// 新しいブックを作成する
Workbook workbook = new Workbook("workbook.xls");
// ワークシートのセルから「A1」セルの参照を取得します
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");
// 「HelloWorld!」を設定します「A1」セルへの値
cell.setValue("updated cell value.");
// Excelファイルを書く
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);
LinuxでExcelファイルにグラフを作成する
スプレッドシートのグラフは、ワークシートに保存されているデータを視覚的に表すために使用されます。 Aspose.Cells for Javaは、Excelファイル内で生成できる幅広いチャートを提供します。 LinuxプラットフォームでExcelXLSXファイルにグラフを作成する手順は次のとおりです。
- Workbookクラスを使用して、新しいExcelファイルを作成するか、既存のファイルをロードします。
- ワークシートにデータを追加します(オプション)。
- Worksheet.getCharts()メソッドを使用して、ワークシートのチャートコレクションを取得します。
- Worksheet.getCharts().add()メソッドを使用して、コレクションに新しいグラフを追加します。
- コレクションから新しく作成されたチャートの参照を取得します。
- セルの範囲を指定して、グラフのNSeriesを設定します。
- 最後に、Excelファイルを保存します。
次のコードサンプルは、ExcelXLSXファイルでグラフを作成する方法を示しています。
// 新しいブックを作成する
Workbook workbook = new Workbook("workbook.xlsx");
// 最初のワークシートの参照を取得する
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);
// セルにサンプル値を追加する
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);
// ワークシートでグラフを取得する
ChartCollection charts = sheet.getCharts();
// ワークシートにグラフを追加する
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);
// 「A1」の範囲のチャートにNSeries(チャートデータソース)を追加する
// 「B3」へのセル
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);
// Excelファイルを書く
workbook.save("Excel_with_Chart.xlsx");
次のスクリーンショットは、上記のコードサンプルの出力を示しています。
LinuxでExcelファイルにピボットテーブルを作成する
Excelワークシートのピボットテーブルには、データへのフィルターの追加、合計の計算、データの要約など、さまざまな目的があります。ピボットテーブルは、ワークシートのセルの範囲を使用して作成できます。以下の手順に従って、Excelファイルにピボットテーブルを作成できます。
- Workbookクラスを使用して、新しいExcelファイルを作成するか、既存のファイルをロードします。
- ワークシートにデータを挿入します(オプション)。
- Worksheet.getPivotTables()メソッドを使用してピボットテーブルコレクションにアクセスします。
- Worksheet.getPivotTables().add()メソッドを使用して、ワークシートに新しいピボットテーブルを追加します。
- ピボットテーブルにデータを提供します。
- Workbook.save()メソッドを使用してブックを保存します。
次のコードサンプルは、Excelでピボットテーブルを作成する方法を示しています。
// 新しいブックを作成する
Workbook workbook = new Workbook("workbook.xlsx");
// 最初のワークシートを入手します。
Worksheet sheet = workbook.getWorksheets().get(0);
// ワークシートのセルコレクションの取得
Cells cells = sheet.getCells();
// セルに値を設定する
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");
cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");
cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");
cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);
PivotTableCollection pivotTables = sheet.getPivotTables();
// ワークシートへのピボットテーブルの追加
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");
// 新しく追加されたピボットテーブルのインスタンスへのアクセス
PivotTable pivotTable = pivotTables.get(index);
// 行の総計を表示しません。
pivotTable.setRowGrand(false);
// 最初のフィールドを行領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
// 2番目のフィールドを列領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);
// 3番目のフィールドをデータ領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);
// Excelファイルを書く
workbook.save("Excel_with_Chart.xlsx");
以下は、上記のコードサンプルによって生成されたピボットテーブルのスクリーンショットです。
Excelファイルにセルの数式を追加する
Aspose.Cells for Javaは、Excelワークシートでの数式の操作もサポートしています。次のセクションでは、組み込み関数とアドイン関数の操作方法について説明します。
Excelで組み込み関数を適用する
組み込み関数の場合、ワークシート内の目的のセルの参照を取得し、Cell.setFormula(String)メソッドを使用して数式を追加するだけです。次のコードサンプルは、Excelで組み込みの数式を設定する方法を示しています。
// 新しいブックを作成する
Workbook workbook = new Workbook();
// セルに値を追加する
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");
// ExcelXLSXファイルとして保存
workbook.save("Excel.xlsx");
Excelにアドイン関数を追加する
Aspose.Cells for Javaは、Excelワークシートのユーザー定義関数もサポートしています。このためには、xlam(Excelマクロ対応アドイン)ファイルを使用してアドイン関数を登録する必要があります。アドイン関数を登録するために、APIはregisterAddInFunction(int, String)およびregisterAddInFunction(String, String, boolean)メソッドを提供します。次のコードサンプルは、Excelでアドイン関数を登録して使用する方法を示しています。
// 新しいブックを作成する
Workbook workbook = new Workbook();
// マクロ対応のアドインを関数名とともに登録する
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);
// ファイルにさらに関数を登録します(存在する場合)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file
// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.getWorksheets().get(0);
// 最初のセルにアクセスする
Cell cell = worksheet.getCells().get("A1");
// アドインに存在する数式名を設定します
cell.setFormula("=TEST_UDF()");
// ExcelXLSXファイルとして保存
workbook.save("Excel.xlsx");
無料ライセンスを取得する
一時ライセンスを使用すると、評価の制限なしにAspose.Cells for Javaを使用できます。
結論
この記事では、LinuxでMSExcelファイルを最初から作成する方法を学びました。また、Excelファイルの更新、グラフの生成、ピボットテーブルの作成、およびワークシートへの数式の追加の方法についても説明しました。 Aspose.Cells for Javaの詳細については、ドキュメントを使用して学ぶことができます。ご不明な点がございましたら、フォーラムからお問い合わせください。