ワークシートの管理

Aspose.Cellsを使用してワークシートを管理することは非常に簡単です。このセクションでは、以下の方法について説明します。

1.ゼロから新しいExcelファイルを作成し、ワークシートを追加する

  1. デザイナースプレッドシートにワークシートを追加する
  2. シート名を使用してワークシートにアクセスする
  3. シート名を使用してExcelファイルからワークシートを削除する
  4. シートインデックスを使用してExcelファイルからワークシートを削除する

Aspose.CellsはExcelファイルを表すWorkbookクラスを提供します。Workbookクラスには各ワークシートにアクセスできるWorksheetCollectionが含まれています。

ワークシートはWorksheetクラスで表されます。Worksheetクラスにはワークシートを管理するための幅広いプロパティとメソッドが提供されています。これらの基本的なAPIを使用する方法を見てみましょう。

新しいExcelファイルにワークシートを追加する

プログラムで新しいExcelファイルを作成するには、Excelファイルを表すWorkbookクラスのオブジェクトを作成する必要があります。その後、開発者はWorksheetCollectionaddメソッドを呼び出すことができます。addメソッドを呼び出すと、空のワークシートがExcelファイルに自動的に追加されます。その後、WorksheetCollectionに新しく追加されたワークシートのシートインデックスを渡すことで、ワークシートに参照できます。ワークシートの参照を取得した後、開発者は要件に応じてワークシート上で作業することができます。ワークシートで作業が完了した後、開発者はWorkbookクラスのsaveメソッドを呼び出すことで、新しく作成されたExcelファイルに新しいワークシートを保存することができます。

// 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(AddingWorksheetstoNewExcelFile.class) + "worksheets/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
WorksheetCollection worksheets = workbook.getWorksheets();
int sheetIndex = worksheets.add();
Worksheet worksheet = worksheets.get(sheetIndex);
// Setting the name of the newly added worksheet
worksheet.setName("My Worksheet");
// Saving the Excel file
workbook.save(dataDir + "AWToNewExcelFile_out.xls");
// Print Message
System.out.println("Sheet added successfully.");

デザイナースプレッドシートにワークシートを追加する

デザイナースプレッドシートにワークシートを追加するプロセスは、上記の手順とまったく同じですが、Excelファイルがすでに作成されており、ワークシートを追加する前にそのExcelファイルを開く必要があります。Workbookクラスを初期化する際に、ファイルパスまたはストリームを渡すことでデザイナースプレッドシートを開くことができます。

// 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(AddingWorksheetstoDesignerSpreadsheet.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Adding a new worksheet to the Workbook object
WorksheetCollection worksheets = workbook.getWorksheets();
int sheetIndex = worksheets.add();
Worksheet worksheet = worksheets.get(sheetIndex);
// Setting the name of the newly added worksheet
worksheet.setName("My Worksheet");
// Saving the Excel file
workbook.save(dataDir + "AWToDesignerSpreadsheet_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet added successfully.");

シート名を使用してワークシートにアクセスする

開発者は名前またはインデックスを指定して任意のワークシートにアクセスまたは取得できます。

// 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(AccessingWorksheetsusingSheetName.class) + "worksheets/";
String filePath = dataDir + "book1.xlsx";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(filePath);
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Accessing a worksheet using its sheet name
Worksheet worksheet = workbook.getWorksheets().get("Sheet1");
Cell cell = worksheet.getCells().get(0, 0);
// Print Message
System.out.println(cell.getValue());

シート名を使用してワークシートを削除する

時々、開発者は既存のExcelファイルからワークシートを削除する必要があり、そのタスクはWorksheetCollectionコレクションのremoveAtメソッドを呼び出すことで実行できます。removeAtメソッドにシート名を渡すことで特定のワークシートを削除できます。

// 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(RemovingWorksheetsusingSheetName.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet name
workbook.getWorksheets().removeAt("Sheet1");
// Saving the Excel file
workbook.save(dataDir + "RemovingWorksheetsusingSheetName_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet removed successfully.");

Sheet Indexを使用してワークシートを削除する

上記のワークシートを削除する方法は、削除するワークシートのシート名が既にわかっている場合にうまく機能します。しかし、Excelファイルから削除したいワークシートのシート名がわからない場合はどうすればよいでしょうか?

そのような状況で、開発者はremoveAtメソッドのオーバーロードバージョンを使用できます。このバージョンでは、ワークシートのシートインデックスを使用してワークシートを削除します。

// 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(RemovingWorksheetsusingSheetIndex.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet index
workbook.getWorksheets().removeAt(0);
// Saving the Excel file
workbook.save(dataDir + "RWUsingSheetIndex_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet removed successfully.");

高度なトピック