LinuxでExcelファイルを作成する

最近では、スプレッドシートは大量の表形式のデータを保持および共有するために広く使用されています。また、数式の適用、チャートやグラフの生成、データの並べ替えやフィルタリングなど、さまざまな操作を実行できます。スプレッドシートの自動化は、さまざまな業界で革命を起こしました。スプレッドシートの動的な作成と操作により、データ処理が非常に簡単になりました。プログラムでスプレッドシートの操作を実行するために、この記事では、Javaを使用してLinux上でExcelXLSXまたはXLSファイルを最初から作成する方法について説明します。

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でExcelファイルを作成する

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");

次のスクリーンショットは、上記のコードサンプルの出力を示しています。

ExcelLinuxでチャートを作成する

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");

以下は、上記のコードサンプルによって生成されたピボットテーブルのスクリーンショットです。

LinuxでExcelでピボットテーブルを作成する

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の詳細については、ドキュメントを使用して学ぶことができます。ご不明な点がございましたら、フォーラムからお問い合わせください。

関連項目