Werken met Spreadsheetbeheer
Werken met Spreadsheetbeheer
De Workbook klasse is het toegangspunt voor alle spreadsheetbewerkingen in Aspose.Cells FOSS voor C++. Het biedt methoden om nieuwe werkboeken te maken, bestaande XLSX-bestanden te laden, werkbladen te beheren en het resultaat op te slaan.
Een nieuw werkboek aanmaken
Instantieer Workbook om een leeg werkboek te maken. Een standaard werkblad wordt automatisch aangemaakt.
#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
using namespace Aspose::Cells_FOSS;
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Summary");
workbook.Save("output.xlsx");
return 0;
}Een bestaand werkboek laden
Geef een bestandspad door aan de Workbook constructor om een bestaand XLSX-bestand te laden. Na het laden zijn werkbladen en celgegevens direct toegankelijk.
Workbook workbook("existing.xlsx");
Worksheet& sheet = workbook.GetWorksheets()[0];
// Access or modify cells here
workbook.Save("modified.xlsx");Werkblad-eigenschappen configureren
De Worksheet klasse exposeert weergave- en beschermings-eigenschappen. Gebruik deze om de zichtbaarheid van het blad, rasterweergave, zoom en tabbladkleur te configureren.
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Data");
sheet.SetShowGridlines(false);
sheet.SetShowRowColumnHeaders(true);
sheet.SetZoom(80);Beschermen en ontgrendelen van een werkblad
Roep Worksheet::Protect aan om een blad tegen bewerkingen te vergrendelen, en Worksheet::Unprotect om de bescherming te verwijderen:
sheet.Protect("password");
// ... distribute the workbook ...
sheet.Unprotect("password");Zorg voor unieke blad- en gedefinieerde-naam-scope
Wanneer je meerdere werkbladen programmatisch toevoegt, gebruik je Workbook::EnsureUniqueSheetName om naamconflicten te voorkomen. Gebruik Workbook::EnsureValidDefinedNameScope om te controleren of gedefinieerde namen correct gescope zijn.
workbook.EnsureUniqueSheetName();
workbook.EnsureUniqueDefinedName();Opslaan van een werkmap
Roep Workbook::Save(fileName) aan om de werkmap naar schijf te schrijven. Meerdere overloads accepteren een bestandsnaam, een stream of een expliciete SaveFormat.
workbook.Save("products.xlsx");Tips en best practices
- Roep altijd
Workbook::Dispose()aan wanneer je klaar bent met een werkmap om niet-beheerde resources vrij te geven. - Werkbladnamen moeten uniek zijn binnen een werkmap — gebruik
EnsureUniqueSheetNamena batchtoevoegingen. - Stel
Worksheet::SetShowGridlines(false)in voor presentatiestijlbladen om de leesbaarheid te verbeteren. - Gebruik
Worksheet::SetZoom(value)om een standaard zoomniveau (percentage) in te stellen voor werkbladweergaven. - Tabkleuren die via
Worksheet::SetTabColorworden toegewezen, helpen gebruikers werkbladen visueel te onderscheiden.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Bestand niet gevonden bij laden | Onjuist pad | Gebruik een absoluut pad of controleer de werkmap |
| Bladnaamconflict | Dubbele namen bij het toevoegen van bladen | Roep EnsureUniqueSheetName() aan na elke toevoeging |
| Werkboekwijzigingen niet opgeslagen | Save niet aangeroepen | Roep workbook.Save(path) altijd aan vóór het afsluiten |
| Waarschuwingen voor geheugenlekken | Dispose niet aangeroepen | Roep workbook.Dispose() aan het einde van de scope |
API Reference Samenvatting
| Klasse/Methode | Beschrijving |
|---|---|
Workbook() | Maakt een nieuw leeg werkboek |
Workbook(filePath) | Laadt een bestaand XLSX-bestand |
Workbook::Save(fileName) | Slaat het werkboek op op de schijf |
Workbook::EnsureUniqueSheetName() | Lost dubbele bladnamen op |
Workbook::Dispose() | Geeft bronnen vrij |
Worksheet::SetName(name) | Hernoemt het werkblad |
Worksheet::SetShowGridlines(bool) | Schakelt de zichtbaarheid van rasterlijnen in/uit |
Worksheet::SetZoom(percent) | Stelt het standaard zoompercentage in |
Worksheet::Protect(password) | Vergrendelt het werkblad |
Worksheet::Unprotect(password) | Ontgrendelt het werkblad |