Praca z pakowaniem XLSX

Praca z pakowaniem XLSX

Aspose.Cells FOSS dla C++ odczytuje i zapisuje format .xlsx Open XML przy użyciu dedykowanej warstwy serializacji. Klasa XlsxWorkbookSerializer koordynuje ładowanie i zapisywanie wszystkich części skoroszytu, w tym arkuszy, stylów, zdefiniowanych nazw, właściwości dokumentu i automatycznych filtrów.


Ładowanie i zapisywanie plików XLSX

Użyj klasy Workbook do wszystkich operacji ładowania i zapisywania. Wewnątrz, XlsxWorkbookSerializer obsługuje pakowanie Open XML:

#include "aspose/cells_foss/Workbook.h"

using namespace Aspose::Cells_FOSS;

int main() {
    // Load existing XLSX
    Workbook workbook("input.xlsx");

    // Modify content...

    // Save back to XLSX
    workbook.Save("output.xlsx");
    return 0;
}

Właściwości dokumentu

Pliki XLSX zawierają podstawowe i rozszerzone właściwości dokumentu (tytuł, autor, data utworzenia). Są one zarządzane przez XlsxDocumentProperties, który buduje i ładuje części docProps/core.xml oraz docProps/app.xml:

PartZarządzane przezContains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocumentTytuł, autor, utworzono, zmodyfikowano
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocumentNazwa aplikacji, wersja

Metadane i ustawienia skoroszytu

Metadane na poziomie skoroszytu — ustawienia obliczeń, widoki skoroszytu i ochrona skoroszytu — są zarządzane przez XlsxWorkbookProperties:

  • BuildWorkbookPropertiesElement — zapisuje ustawienia obliczeń i iteracji skoroszytu
  • BuildWorkbookProtectionElement — zapisuje ochronę hasłem na poziomie skoroszytu
  • BuildBookViewsElement — zapisuje pozycję okna i ustawienia aktywnego arkusza

Style i formaty liczb

Część stylów (xl/styles.xml) jest zarządzana przez XlsxWorkbookStyles. Mapuje ona obiekty Style z modelu w pamięci na zserializowane rekordy czcionek, wypełnień, obramowań i formatów liczb:

  • BuildStylesheet — serializuje wszystkie style do XML
  • LoadStylesheet — odczytuje style z istniejącego pliku XLSX
  • StylesEqual — sprawdza, czy dwa obiekty stylu wygenerują identyczny XML

Pakowanie Auto-Filter

Stan auto-filtra dla każdego arkusza jest serializowany przez XlsxWorkbookAutoFilter:

  • BuildAutoFilterElement — zapisuje element <autoFilter> XML
  • LoadAutoFilter — odczytuje konfigurację auto-filtra z części arkusza

Nazwy zdefiniowane

Zakresy nazwane i formuły są pakowane w części skoroszytu i ładowane przez XlsxWorkbookDefinedNames:

  • BuildDefinedNames — zapisuje wszystkie wpisy DefinedName do XML skoroszytu
  • LoadWorkbookDefinedNames — odczytuje zdefiniowane nazwy podczas ładowania pliku

Wskazówki i najlepsze praktyki

  • Używaj Workbook::Save(fileName) jako jedynego punktu wyjścia — nie wywołuj klas serializatora bezpośrednio, chyba że rozszerzasz bibliotekę.
  • Format .xlsx jest jedynym w pełni obsługiwanym formatem; zapisywanie do innych formatów nie jest dostępne w wersji v0.1.
  • Ścieżki plików przekazywane do Workbook(filePath) lub Save(filePath) muszą używać separatora ścieżek platformy i być w pełni kwalifikowane, gdy uruchamiane w środowiskach, w których katalog roboczy może się zmieniać.
  • Ochrona skoroszytu zastosowana za pomocą XlsxWorkbookProperties::BuildWorkbookProtectionElement jest niezależna od ochrony na poziomie arkusza ustawionej przez Worksheet::Protect.

Typowe problemy

ProblemPrzyczynaNaprawa
Nie udało się załadować plikuNieprawidłowy lub zaszyfrowany plik XLSXUpewnij się, że plik jest zwykłym (niezabezpieczonym hasłem) plikiem XLSX
Style utracone po zapisaniuStyl nie zastosowany przed zapisemWywołaj Cell::SetStyle(style) przed Workbook::Save
Zdefiniowane nazwy brakują po cykluZakres ustawiony na niewłaściwy arkuszUżyj DefinedName::SetFormula z pełnym adresem zakresu

API Reference Podsumowanie

Klasa/MetodaOpis
Workbook(filePath)Wczytaj plik XLSX
Workbook::Save(fileName)Zapisz do XLSX
XlsxWorkbookSerializer::SaveWewnętrzne: serializuje model do Open XML
XlsxWorkbookSerializer::LoadWewnętrzne: deserializuje Open XML do modelu
XlsxDocumentPropertiesPakowanie podstawowych i rozszerzonych właściwości dokumentu
XlsxWorkbookPropertiesSerializacja metadanych i ustawień skoroszytu
XlsxWorkbookStylesPakowanie arkusza stylów
XlsxWorkbookAutoFilterPakowanie automatycznego filtra XML
XlsxWorkbookDefinedNamesPakowanie zdefiniowanej nazwy XML

Zobacz także

 Polski