Praca z zarządzaniem arkuszami kalkulacyjnymi

Praca z zarządzaniem arkuszami kalkulacyjnymi

Praca z zarządzaniem arkuszami kalkulacyjnymi

Klasa Workbook jest punktem wejścia dla wszystkich operacji na arkuszach kalkulacyjnych w Aspose.Cells FOSS dla C++. Udostępnia metody do tworzenia nowych skoroszytów, ładowania istniejących plików XLSX, zarządzania arkuszami oraz zapisywania wyniku.


Tworzenie nowego skoroszytu

Zainstancjuj Workbook, aby utworzyć pusty skoroszyt. Domyślny arkusz jest tworzony automatycznie.

#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;
}

Ładowanie istniejącego skoroszytu

Przekaż ścieżkę do pliku do konstruktora Workbook, aby wczytać istniejący plik XLSX. Po wczytaniu arkusze i dane komórek są dostępne od razu.

Workbook workbook("existing.xlsx");
Worksheet& sheet = workbook.GetWorksheets()[0];
// Access or modify cells here
workbook.Save("modified.xlsx");

Konfigurowanie właściwości arkusza

Klasa Worksheet udostępnia właściwości wyświetlania i ochrony. Użyj ich do skonfigurowania widoczności arkusza, wyświetlania siatki, powiększenia i koloru zakładki.

Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Data");
sheet.SetShowGridlines(false);
sheet.SetShowRowColumnHeaders(true);
sheet.SetZoom(80);

Ochrona i usuwanie ochrony arkusza

Wywołaj Worksheet::Protect, aby zablokować arkusz przed edycjami, oraz Worksheet::Unprotect, aby usunąć ochronę:

sheet.Protect("password");
// ... distribute the workbook ...
sheet.Unprotect("password");

Zapewnienie unikalności arkusza i zakresu nazw zdefiniowanych

Podczas programowego dodawania wielu arkuszy, użyj Workbook::EnsureUniqueSheetName, aby uniknąć kolizji nazw. Użyj Workbook::EnsureValidDefinedNameScope, aby zweryfikować, że nazwy zdefiniowane mają prawidłowy zakres.

workbook.EnsureUniqueSheetName();
workbook.EnsureUniqueDefinedName();

Zapisywanie skoroszytu

Wywołaj Workbook::Save(fileName), aby zapisać skoroszyt na dysku. Wiele przeciążeń przyjmuje nazwę pliku, strumień lub jawny SaveFormat.

workbook.Save("products.xlsx");

Wskazówki i najlepsze praktyki

  • Zawsze wywołuj Workbook::Dispose() po zakończeniu pracy z skoroszytem, aby zwolnić niezarządzane zasoby.
  • Nazwy arkuszy muszą być unikalne w obrębie skoroszytu — użyj EnsureUniqueSheetName po dodaniu wsadowym.
  • Ustaw Worksheet::SetShowGridlines(false) dla arkuszy w stylu prezentacji, aby poprawić czytelność.
  • Użyj Worksheet::SetZoom(value), aby ustawić domyślny poziom powiększenia (procentowo) dla widoków arkuszy.
  • Kolory kart przypisane za pomocą Worksheet::SetTabColor pomagają użytkownikom wizualnie odróżniać arkusze.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Nie znaleziono pliku podczas ładowaniaNieprawidłowa ścieżkaUżyj ścieżki bezwzględnej lub sprawdź katalog roboczy
Kolizja nazw arkuszyDuplikaty nazw przy dodawaniu arkuszyWywołaj EnsureUniqueSheetName() po każdym dodaniu
Zmiany w skoroszycie nie zostały zapisaneSave nie wywołanoZawsze wywołuj workbook.Save(path) przed zakończeniem
Ostrzeżenia o wycieku pamięciDispose nie wywołanoWywołaj workbook.Dispose() na końcu zakresu

API Reference Podsumowanie

Klasa/MetodaOpis
Workbook()Tworzy nowy pusty skoroszyt
Workbook(filePath)Ładuje istniejący plik XLSX
Workbook::Save(fileName)Zapisuje skoroszyt na dysku
Workbook::EnsureUniqueSheetName()Rozwiązuje duplikaty nazw arkuszy
Workbook::Dispose()Zwalnia zasoby
Worksheet::SetName(name)Zmienia nazwę arkusza
Worksheet::SetShowGridlines(bool)Przełącza widoczność linii siatki
Worksheet::SetZoom(percent)Ustawia domyślny procent powiększenia
Worksheet::Protect(password)Blokuje arkusz
Worksheet::Unprotect(password)Odblokowuje arkusz

Zobacz także

 Polski