Arbeitsblätter verwalten

Aspose.Cells bietet eine KlasseIWorkbook die eine Excel-Datei darstellt. DasIWorkbook Klasse enthält aArbeitsblätterSammlung, die den Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht.

Ein Arbeitsblatt wird durch dargestelltIArbeitsblatt Klasse. DasIArbeitsblatt-Klasse bietet eine breite Palette von Methoden zum Verwalten von Arbeitsblättern.

Hinzufügen von Arbeitsblättern zu einer neuen Excel-Datei

So erstellen Sie programmgesteuert eine neue Excel-Datei:

  1. Erstellen Sie ein Objekt derIArbeitsblattKlasse.
  2. Ruf den … anAddieren Methode derIWorksheetCollection Sammlung. Der Excel-Datei wird automatisch ein leeres Arbeitsblatt hinzugefügt. Es kann darauf verwiesen werden, indem der Blattindex des neuen Arbeitsblatts an die übergeben wirdIWorksheetCollectionSammlung.
  3. Besorgen Sie sich eine Arbeitsblattreferenz.
  4. Bearbeiten Sie die Arbeitsblätter.
  5. Speichern Sie die neue Excel-Datei mit neuen Arbeitsblättern, indem Sie die aufrufenIWorkbook KlasseSpeichernMethode.
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Output directory path
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
//Path of output excel file
StringPtr outputManageWorksheets = outDir->StringAppend(new String("outputManageWorksheets.xlsx"));
//Create workbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Adding a new worksheet to the Workbook object
int i = workbook->GetIWorksheets()->Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(i);
// Setting the name of the newly added worksheet
worksheet->SetName(new String("My Worksheet"));
// Save the Excel file.
workbook->Save(outputManageWorksheets);
StringPtr msg = new String("New worksheet added successfully with in a workbook!");
Console::WriteLine(msg);

Zugriff auf Arbeitsblätter über den Blattindex

Der folgende Beispielcode zeigt, wie Sie auf ein beliebiges Arbeitsblatt zugreifen oder es abrufen, indem Sie seinen Index angeben.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
//Path of input excel file
StringPtr sampleManageWorksheets = srcDir->StringAppend(new String("sampleManageWorksheets.xlsx"));
//Load the sample Excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleManageWorksheets);
//Accessing a worksheet using its index
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
//Access the cell by its name.
intrusive_ptr<ICell> cell = worksheet->GetICells()->GetObjectByIndex(new String("F7"));
//Print the value of cell F7
StringPtr val = cell->GetStringValue();
//Print the value on console.
Console::Write(new String("Value of cell F7: "));
Console::WriteLine(val);

Arbeitsblätter mit Blattindex entfernen

Das Entfernen von Arbeitsblättern nach Namen funktioniert gut, wenn der Name des Arbeitsblatts bekannt ist. Wenn Sie den Namen des Arbeitsblatts nicht kennen, verwenden Sie eine überladene Version vonEntfernenBeiMethode, die den Blattindex des Arbeitsblatts anstelle seines Blattnamens verwendet.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
//Output directory path
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
//Path of input excel file
StringPtr sampleManageWorksheets = srcDir->StringAppend(new String("sampleManageWorksheets.xlsx"));
//Path of output excel file
StringPtr outputManageWorksheets = outDir->StringAppend(new String("outputManageWorksheets.xlsx"));
//Load the sample Excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleManageWorksheets);
//Removing a worksheet using its sheet index
workbook->GetIWorksheets()->RemoveAt(0);
//Save the Excel file.
workbook->Save(outputManageWorksheets);