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

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

書式オプションを使用して行を挿入するには、InsertOptions をパラメータとして取るオーバーロードのinsertRows を使用します。InsertOptions クラスのCopyFormatType プロパティを、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 メソッドは2つのパラメータを取ります。

  • 列インデックス: 挿入する列のインデックス
  • 列数: 挿入する列の合計数
// 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");