ワークシートの管理
Aspose.Cellsを使用してワークシートを管理することは非常に簡単です。このセクションでは、以下の方法について説明します。
1.ゼロから新しいExcelファイルを作成し、ワークシートを追加する
- デザイナースプレッドシートにワークシートを追加する
- シート名を使用してワークシートにアクセスする
- シート名を使用してExcelファイルからワークシートを削除する
- シートインデックスを使用してExcelファイルからワークシートを削除する
Aspose.CellsはExcelファイルを表すWorkbookクラスを提供します。Workbookクラスには各ワークシートにアクセスできるWorksheetCollectionが含まれています。
ワークシートはWorksheetクラスで表されます。Worksheetクラスにはワークシートを管理するための幅広いプロパティとメソッドが提供されています。これらの基本的なAPIを使用する方法を見てみましょう。
新しいExcelファイルにワークシートを追加する
プログラムで新しいExcelファイルを作成するには、Excelファイルを表すWorkbookクラスのオブジェクトを作成する必要があります。その後、開発者はWorksheetCollectionのaddメソッドを呼び出すことができます。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."); |
高度なトピック
- シートのアクティブ化およびワークシートでセルのアクティブ化
- ブック間およびブック内でワークシートをコピーおよび移動する
- ワークシートのコピーおよび移動
- ワークシート内のセル数を数える
- 空のワークシートを検出する
- ワークシートがダイアログシートであるかを検索する
- ワークシートの一意のIDを取得
- Excel に背景画像を挿入
- シナリオを作成、操作、またはワークシートから削除する
- ページ区切りの管理
- ページ設定機能
- ワークシート内の空白の列と行を削除する際に、他のワークシートの参照を更新する
- Aspose.Cellsを使用したOpenXmlのSheet.SheetIdプロパティを利用する
- ODSファイルで背景を操作する
- ワークシートビュー