Excelファイルの行と列の挿入と削除

紹介

ワークシートをゼロから作成するか、既存のワークシートで作業する場合、さらなるデータを収容するために追加の行や列を必要とする場合があります。逆に、ワークシート内の特定の位置から行や列を削除する必要がある場合もあります。

これらの要件を満たすために、Aspose.Cellsは以下で説明されている非常にシンプルな一連のクラスとメソッドを提供しています。

行/列の管理方法

Aspose.Cellsは、Microsoft Excelファイルを表すWorkbookクラスを提供します。Workbook クラスには、Excelファイル内の各ワークシートへのアクセスを可能にするWorksheetCollection が含まれています。ワークシートはWorksheet クラスによって表されます。Worksheet クラスは、ワークシート内のすべてのセルを表すCells コレクションを提供します。

ワークシートの行と列を管理するために、Cells コレクションはいくつかの方法を提供します。そのうちいくつかについては以下で議論されています。

行の挿入方法

Cells コレクションの insertRows メソッドを呼び出すことで、任意の位置に行を挿入できます。insertRows メソッドは、最初の引数に挿入する行のインデックス、2番目の引数に挿入する行数を取ります。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(InsertingARow.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Inserting a row into the worksheet at 3rd position
worksheet.getCells().insertRows(2, 1);
// Saving the modified Excel file in default (that is Excel 2000) format
workbook.save(dataDir + "InsertingARow_out.xls");

複数の行を挿入する方法

複数の行をワークシートに挿入するには、Cells コレクションの insertRows メソッドを呼び出します。insertRows は2つのパラメータを取ります:

  • 行インデックス: 新しい行を挿入する行のインデックス。
  • 行数: 挿入する行の合計数。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(InsertingMultipleRows.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Inserting 10 rows into the worksheet starting from 3rd row
worksheet.getCells().insertRows(2, 10);
// Saving the modified Excel file in default (that is Excel 2000) format
workbook.save(dataDir + "InsertingMultipleRows_out.xls");

書式付きで行を挿入する方法

書式付きの行を挿入するには、insertRows オーバーロードを使用します。これは InsertOptions をパラメータとして取ります。InsertOptionsCopyFormatType プロパティを CopyFormatType 列挙値で設定します。 CopyFormatType 列挙値は以下の3つです:

  • SAME_AS_ABOVE: 上の行と同じフォーマットで行を設定します。
  • SAME_AS_BELOW: 下の行と同じフォーマットで行を設定します。
  • CLEAR: 書式設定をクリアします。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(InsertingARowWithFormatting.class) + "RowsAndColumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Setting Formatting options
InsertOptions insertOptions = new InsertOptions();
insertOptions.setCopyFormatType(CopyFormatType.SAME_AS_ABOVE);
// Inserting a row into the worksheet at 3rd position
worksheet.getCells().insertRows(2, 1, insertOptions);
// Saving the modified Excel file
workbook.save(dataDir + "InsertingARowWithFormatting_out.xlsx");

行の削除方法

任意の位置に行を削除するには、Cells コレクションの deleteRows メソッドを呼び出します。 deleteRows メソッドは、2つのパラメータを取ります:

  • 行インデックス: 削除する行のインデックス。
  • 行数: 削除する行の合計数。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(DeleteARow.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Deleting 3rd row from the worksheet
worksheet.getCells().deleteRows(2, 1, true);
// Saving the modified Excel file in default (that is Excel 2000) format
workbook.save(dataDir + "DeleteARow_out.xls");

複数の行を削除する方法

複数の行をワークシートから削除するには、Cells コレクションの deleteRows メソッドを呼び出します。 deleteRows は2つのパラメータを取ります:

  • 行インデックス: 削除する行のインデックス。
  • 行数: 削除する行の合計数。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(DeleteMultipleRows.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Deleting 10 rows from the worksheet starting from 3rd row
worksheet.getCells().deleteRows(2, 10, true);
// Saving the modified Excel file in default (that is Excel 2000) format
workbook.save(dataDir + "DeleteMultipleRows_out.xls");

1つまたは複数の列の挿入方法

開発者は、任意の位置に列を挿入するために Cells コレクションの insertColumns メソッドを呼び出すこともできます。 insertColumns は二つのパラメータを取ります:

  • 列インデックス: 挿入する列のインデックス
  • 列数: 挿入する列の合計数
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getSharedDataDir(InsertingAColumn.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Inserting a column into the worksheet at 2nd position
worksheet.getCells().insertColumns(1, 1);
// Saving the modified Excel file in default (that is Excel 2000) format
workbook.save(dataDir + "InsertingAColumn_out.xls");

列を削除する方法

任意の位置に列を削除するには、Cells コレクションの deleteColumns メソッドを呼び出します。deleteColumns は以下のパラメータを取ります:

  • 列インデックス: 削除する列のインデックス。
  • 列数: 削除する列の合計数。
  • 参照の更新: 他のワークシートで参照を更新するかどうかを示すブール値。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(DeleteAColumn.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
// Deleting a column from the worksheet at 2nd position
worksheet.getCells().deleteColumns(1, 1, true);
// Saving the modified Excel file in default (that is Excel 2000) format
workbook.save(dataDir + "DeleteAColumn_out.xls");