Arbeitsblätter verwalten

Arbeitsblätter mit Aspose.Cells zu verwalten ist kinderleicht. In diesem Abschnitt wird beschrieben, wie wir:

  1. eine neue Excel-Datei von Grund auf erstellen und ein Arbeitsblatt hinzufügen
  2. Arbeitsblätter zu Designer-Arbeitsmappen hinzufügen
  3. Arbeitsblätter anhand des Blattnamens abrufen
  4. Ein Arbeitsblatt aus einer Excel-Datei mithilfe des Blattnamens entfernen
  5. Ein Arbeitsblatt aus einer Excel-Datei mithilfe des Blattindex entfernen

Aspose.Cells bietet eine Klasse, Workbook die eine Excel-Datei repräsentiert. Die Workbook-Klasse enthält einen WorksheetCollection, der den Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht.

Ein Arbeitsblatt wird durch die Worksheet-Klasse repräsentiert. Die Worksheet-Klasse bietet eine Vielzahl von Eigenschaften und Methoden zur Verwaltung eines Arbeitsblatts. Schauen wir uns an, wie wir diese Grundmenge an APIs nutzen können.

Arbeitsblätter zu einer neuen Excel-Datei hinzufügen

Um eine neue Excel-Datei programmgesteuert zu erstellen, müssen Entwickler ein Objekt der Workbook-Klasse erstellen, das eine Excel-Datei repräsentiert. Dann können Entwickler die add-Methode der WorksheetCollection aufrufen. Wenn wir die add-Methode aufrufen, wird automatisch ein leeres Arbeitsblatt zur Excel-Datei hinzugefügt, auf das durch Übergeben des Blattindex des neu hinzugefügten Arbeitsblatts an die WorksheetCollection Bezug genommen werden kann. Nachdem die Arbeitsblattreferenz erhalten ist, können Entwickler an ihren Arbeitsblättern gemäß ihren Anforderungen arbeiten. Nach Abschluss der Arbeit an den Arbeitsblättern können Entwickler ihre neu erstellte Excel-Datei mit neuen Arbeitsblättern durch Aufrufen der save-Methode der Workbook-Klasse speichern.

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

Arbeitsblätter zu einem Designer-Arbeitsblatt hinzufügen

Der Vorgang des Hinzufügens von Arbeitsblättern zu einer Designer-Arbeitsmappe ist vollständig identisch mit dem oben beschriebenen Ansatz, außer dass die Excel-Datei bereits erstellt ist und wir diese Excel-Datei zuerst öffnen müssen, bevor wir ein Arbeitsblatt hinzufügen können. Eine Designer-Arbeitsmappe kann durch Übergeben des Dateipfads oder Streams beim Initialisieren der Workbook-Klasse geöffnet werden.

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

Zugriff auf Arbeitsblätter mithilfe des Blattnamens

Entwickler können auf beliebiges Arbeitsblatt zugreifen, indem sie dessen Namen oder Index angeben.

// 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());

Arbeitsblätter anhand des Blattnamens entfernen

Manchmal müssen Entwickler Arbeitsblätter aus vorhandenen Excel-Dateien entfernen, und diese Aufgabe kann durch Aufrufen der removeAt-Methode der WorksheetCollection-Sammlung durchgeführt werden. Wir können den Blattnamen an die removeAt-Methode übergeben, um ein bestimmtes Arbeitsblatt zu entfernen.

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

Arbeitsblätter anhand des Blattindex entfernen

Der oben genannte Ansatz zum Entfernen von Arbeitsblättern funktioniert gut, wenn Entwickler bereits die Blattnamen der zu löschenden Arbeitsblätter kennen. Aber was ist, wenn Sie den Blattnamen des Arbeitsblatts nicht kennen, das Sie aus Ihrer Excel-Datei entfernen möchten?

Nun, in solchen Fällen können Entwickler eine überladene Version der removeAt-Methode verwenden, die anstelle seines Blattnamens den Blattnummernindex des Arbeitsblatts verwendet.

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

Erweiterte Themen