.xlsx). Zadeklarowany w
lxHandleX. Przechowuje kolekcję TXLSXSheets
i udostępnia punkty wejścia SaveAs / Open dla skoroszytów OOXML, importu CSV / TSV i przepływów pracy odczytu/zapisu OpenDocument Spreadsheet (.ods)
type
TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet,
xlsxOpenXMLTemplate);
TODSExportOptions = class
constructor Create;
property Generator: WideString;
property IncludeCharts: Boolean;
property IncludeImages: Boolean;
end;
TXLSXWorkbook = class
constructor Create;
destructor Destroy; override;
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
function CreateReadOnlyView: IXLSReadOnlyWorkbookView;
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
function SaveAs(const FileName: WideString): Integer; overload;
function SaveAs(const FileName: WideString; FileFormat: TXLSXFileFormat): Integer; overload;
function SaveAs(Stream: TStream): Integer; overload;
function SaveAs(Stream: TStream; FileFormat: TXLSXFileFormat): Integer; overload;
function GetConversionReport(ATarget: TXLSConversionTarget): TXLSConversionReport;
function SaveAsChecked(Stream: TStream; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function SaveAsChecked(const FileName: WideString; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function Open(const FileName: WideString): Integer; overload;
function Open(const FileName: WideString; const Password: WideString): Integer; overload;
function Open(Stream: TStream): Integer; overload;
function OpenCSV(const FileName: WideString): Integer; overload;
function OpenCSV(const FileName: WideString; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenCSV(Stream: TStream): Integer; overload;
function OpenCSV(Stream: TStream; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenODS(const FileName: WideString): Integer; overload;
function OpenODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString): Integer; overload;
function SaveAsODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString; Options: TODSExportOptions): Integer; overload;
function SaveAsODS(Stream: TStream; Options: TODSExportOptions): Integer; overload;
function GetODSSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetODSSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function GetSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function SaveAsCSV(const FileName: WideString): Integer; overload;
function SaveAsCSV(const FileName: WideString; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsCSV(Stream: TStream): Integer; overload;
function SaveAsCSV(Stream: TStream; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsRTF(const FileName: WideString): Integer; overload;
function SaveAsRTF(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsRTF(Stream: TStream): Integer; overload;
function SaveAsRTF(Stream: TStream; SheetIndex: Integer): Integer; overload;
// AES encryption (ECMA-376 Standard Encryption) write path.
// OpenEncrypted still raises for encrypted packages.
function SaveAsEncrypted(const FileName, APassword: WideString): Integer;
function OpenEncrypted(const FileName, APassword: WideString): Integer;
function CanReadEncrypted(const FileName: WideString): Boolean;
function Calculate(const Formula: WideString): Variant;
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out AMismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
property OnUserFunction: TXLSUserFunctionEvent;
property OnUserFunctionEx: TXLSUserFunctionExEvent;
property AllowUnsafeFormulaCallbacks: Boolean;
// Document properties (docProps/core.xml + docProps/app.xml).
property Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company,
Application, AppVersion: WideString;
property Created, Modified: TDateTime;
// Workbook protection (16-bit legacy hash).
procedure ProtectWorkbook; overload;
procedure ProtectWorkbook(const APassword: WideString); overload;
procedure ProtectWorkbook(const APassword: WideString; ALockStructure, ALockWindows: Boolean); overload;
procedure UnProtectWorkbook;
property IsWorkbookProtected: Boolean;
property LockStructure, LockWindows: Boolean;
// VBA project payload (round-trips byte-for-byte). Workbook is saved
// with macro-enabled content type when HasVbaProject is True.
procedure LoadVbaProjectFromFile(const AFileName: WideString);
procedure ClearVbaProject;
function HasVbaProject: Boolean;
property VbaProjectDefined: Boolean;
property VbaProject: AnsiString;
property ParsedVBAProject: TXLSVBAProject;
// Unknown package and workbook extension preservation
procedure ClearUnsupportedParts;
function UnsupportedPartCount: Integer;
function UnsupportedPartBytes: Int64;
property PreserveUnsupportedParts: Boolean;
// Chart sheet helper — creates a sheet flagged IsChartSheet and
// seeds Charts[0] with a default full-page anchor.
function AddChartSheet(const AName: WideString;
AChartType: TXLSXChartType; const ATitle: WideString): TXLSXWorksheet;
// Streaming SaveAs path (TXLSWideStringBuilder + one sheet at a time).
property StreamingWrite: Boolean;
// Streaming parallel Open path
property ParallelParse: Boolean;
property ParallelParseThreads: Integer;
// Workbook-level collections.
property ActiveSheet: Integer;
property Minimized: Boolean;
property WindowHidden: Boolean;
property ShowHorizontalScroll: Boolean;
property ShowVerticalScroll: Boolean;
property ShowSheetTabs: Boolean;
property XWindow: Integer;
property YWindow: Integer;
property WindowWidth: Integer;
property WindowHeight: Integer;
property TabRatio: Integer;
property FirstSheet: Integer;
property AutoFilterDateGrouping: Boolean;
property Date1904: Boolean;
// Workbook calculation policy
property Iterate: Boolean;
property IterateCount: Integer;
property IterateDelta: Double;
property CalcId: Integer;
property FullCalcOnLoad: Boolean;
property CalcMode: WideString;
property RefMode: WideString;
property ForceFullCalc: Boolean;
property CalcCompleted: Boolean;
property CalcOnSave: Boolean;
property FullPrecision: Boolean;
property ConcurrentCalc: Boolean;
property ConcurrentManualCount: Integer;
function CreateWorkspaceWorkbook: IXLSWorkspaceWorkbook;
procedure RegisterExternalWorkbook(const AWorkbookName: WideString;
AWorkbook: TXLSXWorkbook);
procedure UnregisterExternalWorkbook(const AWorkbookName: WideString);
property SourceFormat: TXLSXFileFormat;
property IndexedColor[Index: Integer]: LongWord;
function NearestIndexedColor(AArgb: LongWord;
out AMatch: TXLSNearestIndexedColorMatch): Boolean;
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
function ApplyBiffPalettePlan(
const APlan: TXLSBiffPalettePlan): Boolean;
function HasCustomIndexedColor(Index: Integer): Boolean;
function CustomIndexedColorCount: Integer;
procedure ResetIndexedColors;
property Sheets: TXLSXSheets;
property Fonts: TXLSXFonts;
property Fills: TXLSXFills;
property Borders: TXLSXBorders;
property NumberFormats: TXLSXNumberFormats;
property Alignments: TXLSXAlignments;
property DefinedNames: TXLSXDefinedNames;
property ExternalLinks: TXLSXExternalLinks;
property ExternalWorkspace: TXLSWorkbookWorkspace;
end;
| Sheets | arkusz kolekcja. See TXLSXSheets |
| Fonts | skoroszyt-level czcionka palette. komórki pick czcionka przez
setting TXLSXCell.FontIndex do 1-oparty indeks do ten
kolekcja. See TXLSXFont / TXLSXFonts |
| Fills | Paleta wypełnień na poziomie skoroszytu. Komórki wybierają wypełnienie przez ustawienie TXLSXCell.FillIndex na 1-bazowy indeks w tej kolekcji. Zobacz TXLSXFill / TXLSXFills |
| Borders | skoroszyt-level obramowanie palette. komórki pick obramowanie
przez setting TXLSXCell.BorderIndex do 1-oparty indeks do
ten kolekcja. See TXLSXBorder / TXLSXBorders |
| NumberFormats | Paleta niestandardowych formatów liczb na poziomie skoroszytu. Komórki wybierają format przez ustawienie TXLSXCell.NumberFormatIndex na 1-bazowy indeks w tej kolekcji. Zobacz
TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | skoroszyt-level named zakresy (skoroszyt-scoped lub arkusz-scoped). See TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Kompiluje i oblicza ciąg formuły Excela względem aktywnego arkusza, a wiodące = jest akceptowane. Odwołania do komórek, zakresy, formuły zapisane w odwołanych komórkach, odwołania międzyarkuszowe, zakresy nazwanych definicji oraz obsługiwane funkcje tekstowe, daty, workday, engineering/base-conversion, bitwise, statystyczne, agregujące i matematyczne są obliczane przez wspólny silnik formuł HotXLS. Zobacz OnUserFunction dla funkcji niestandardowych lub nieobsługiwanych |
| CreateLoadedCellCursor | Callback używany przez xlckBlankgdy
formuła calls custom lub unsupported funkcja. See callback OnUserFunction / OnUserFunctionEx |
| CreateReadOnlyView | Odczytuje IXLSXWorkbookOwneri dopisuje nazwy arkuszy do IXLSReadOnlyWorkbookView w kolejności skoroszytu bez ładowania XML arkuszy. Wersja dla strumienia oczekuje kompletnego strumienia pakietu XLSX. Zwraca liczbę odczytanych nazw albo SheetCount , gdy nie można otworzyć pakietu CreateReadOnlyView method |
| SaveSemanticSnapshot, ComputeSemanticHash | Strumieniuje wersjonowaną, kanoniczną reprezentację semantyki skoroszytu albo oblicza jej SHA-256 zapisany małymi literami, bez materializowania kompletnej migawki. Zobacz semantic snapshot and hash methods |
| RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration | Atomowo przypisuje zwalidowaną kalibrację renderowania, wykonuje niezależną migawkę wartości dla jednej operacji albo przywraca wartości domyślne; konfiguracja środowiska uruchomieniowego nie jest serializowana i sama nie zmienia rozmiarów wierszy ani kolumn arkusza. Zobacz render calibration values and snapshots |
| CreateRenderGeometry | Tworzy usługę geometrii i pomiaru czcionek należącą do operacji, z niezmienną kalibracją, tożsamością generacji i backendu skoroszytu oraz ograniczonym lokalnym buforem; AutoFit tworzy jedną usługę na operację, a stronicowanie jedną na budowę, bez zapisywania wymiarów arkusza. Zobacz render geometry and font measurement |
| OnUserFunction, OnUserFunctionEx | skoroszyt-level komórka-alignment palette. komórki pick
wpis przez setting Calculate gdy
formuła wywołuje funkcję niestandardową lub nieobsługiwaną. Zobacz
callback OnUserFunction / OnUserFunctionEx |
| AllowUnsafeFormulaCallbacks | do 1-oparty indeks do ten kolekcja. See TXLSXAlignment |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Tytuł, Autor, Temat, Słowa kluczowe, Opis, Kategoria, LastModifiedBy, Company, Application, AppVersion, Created, Modified. Ustawienie któregokolwiek z nich w xl/workbook.xml wypełnia AList i
-1 (w przeciwnym razie skoroszyt zachowuje minimalny zestaw części) |
| Alignments | skoroszyt protection toggle z optional
16-bit legacy hasło hash i TXLSXCell.AlignmentIndex /
TXLSXAlignment |
| Document properties | Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company, Application, AppVersion,
Created, Modified. Ustawienie dowolnej z nich wypełnia
docProps/core.xml flags. Reflected as docProps/app.xml przy
zapisie przez SaveAs (w przeciwnym razie skoroszyt zachowuje minimalny zestaw części) |
| ProtectWorkbook / UnProtectWorkbook | Przełącznik ochrony skoroszytu z opcjonalnym
16-bitowym starszym haszem hasła oraz LockStructure /
LockWindows flags. Reflected as
<workbookProtection> in xl/workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | LoadVbaProjectFromFile imports a raw vbaProject.bin payload; VbaProject exposes the bytes; HasVbaProject and read-only VbaProjectDefined oba pozwalają sprawdzić, czy ładunek jest obecny. Przy zapisie użyj .xlsm jako rozszerzenia, gdy makra mają być włączone przez Excela |
| ParsedVBAProject | Read-only parsed view of the current
vbaProject.bin ładunek. Gdy ładunek jest poprawną pamięcią masową OLE
VBA, zwraca TXLSVBAProject udostępniający
nazwy modułów i tekst źródłowy; w przeciwnym razie zwraca nil. The raw
VbaProject ładunek pozostaje autorytatywnymi bajtami używanymi
w rundzie SaveAs/Open |
| AddChartSheet(Name, Type, Title) | Creates a worksheet flagged
IsChartSheet = True and seeds Charts[0]
ze sensowną domyślną kotwicą całej strony. SaveAs zapisuje takie arkusze
do xl/chartsheets/sheetN.xml. See
TXLSXChart |
| ParallelParse | When True, multi-sheet Open strumieniuje
wpisy ZIP arkuszy bezpośrednio do lokalnych dla wątków roboczych inflaterów i czytników
XML. Żadne robocze kopie nadętego XML arkuszy nie są przechowywane, a źródło
pakietu jest blokowane wyłącznie na czas każdego pozycjonowanego odczytu. Ustaw False,
aby parsować jeden arkusz naraz. Wartość domyślna to True |
| ParallelParseThreads | Ustawia maksymalną liczbę strumieni arkuszy parsowanych
współbieżnie podczas Open. Zero wybiera automatyczną
liczbę wątków roboczych, a wartości dodatnie ustawiają jawny limit. Aktywne
zestawy robocze inflaterów i czytników XML są ograniczone tą liczbą |
| StreamingWrite | When True, SaveAs uses
WriteWorksheetXmlStreaming na arkusz — nie jest utrzymywana
pamięć podręczna sheetXmls, sharedStrings.xml jest emitowany jako ostatni, po tym jak każdy arkusz
wypełni SST. W połączeniu z per-wierszowym
TXLSWideStringBuilder zapewnia to liniowe zużycie pamięci na
dużych arkuszach. Wartość domyślna to False (dotychczasowe zachowanie) |
| PreserveUnsupportedParts / ClearUnsupportedParts | PreserveUnsupportedParts domyślnie przyjmuje wartość
True i zachowuje nieznane części pakietu osiągalne przez relacje oraz obce deklaracje
przestrzeni nazw katalogu głównego skoroszytu, atrybuty zgodności znaczników
i kompletne <extLst>
ładunki podczas Open i SaveAs. Referencje relacji wewnątrz
zachowanego ładunku rozszerzenia są mapowane ponownie, gdy generowane identyfikatory
kolidują ze źródłem. Ustaw właściwość na False przed Open albo wywołaj
ClearUnsupportedParts, to discard this state. The
UnsupportedPartCount and UnsupportedPartBytes
w diagnostyce zliczają zachowane części pakietu i nie obejmują wbudowanych metadanych XML
skoroszytu |
| PreserveRawParts | w xl/skoroszyt.xml |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | Importuje surowy ładunek
SaveAsEncrypted ; CanReadEncrypted udostępnia bajty; OpenEncrypted i tylko do odczytu Open informują, czy ładunek jest obecny. Zapisz z rozszerzeniem
EXlsxEncryptionNotImplemented , gdy makra mają być włączone w Excelu |
| SaveAs(FileName) | Tylko do odczytu, sparsowany widok bieżącego ładunku
1 . Gdy ładunek jest prawidłowym magazynem OLE VBA, zwraca Sheet1 udostępniający nazwy modułów i tekst źródłowy; w przeciwnym razie zwracaTo przeciążenie oraz SaveAs(FileName, FileFormat) etapują wyjście przed podmianą pliku docelowego
Jeśli podmiana zawiedzie, wartością zwracaną jest -1 , a LastDiagnostic zgłasza xlsDiagnosticOutputCommitFailed (1005), oryginalny Windowsowy NativeCodei komunikat błędu systemowego
Stary plik docelowy oraz FileName skoroszytu pozostają bez zmian; wyjście tymczasowe jest zwalniane, a kolejny zapis czyści poprzednią diagnostykę |
| SaveAs(FileName, FileFormat) | Akceptuje xlsxOpenXMLWorkbook dla zwykłego wyjścia OOXML, xlsxOpenDocumentSpreadsheet dla ODS, xlsxOpenXMLTemplate dla szablonu XLTX bez makr albo xlsxOpenXMLMacroEnabledTemplate dla szablonu XLTM, przy czym wyjście buforowane i strumieniowe jest obsługiwane dla wszystkich wariantów OOXMLWyjście szablonu zapisuje application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml dla /xl/workbook.xml; dla plików używaj rozszerzenia .xltx, a przy serwowaniu pakietu przez HTTP — application/vnd.openxmlformats-officedocument.spreadsheetml.templateFormat trzeba wybrać jawnie: ani rozszerzenie pliku, ani zaimportowany szablon nie zmienia domyślnego wyjścia SaveAsJeśli projekt VBA jest obecny, wyjście XLTX zwraca -1 z diagnostyką nieobsługiwanego formatu przed zapisem pliku docelowego; XLTM zachowuje istniejący projekt VBA i przyjmuje też skoroszyt bez makrSaveAsODS pozostaje nazwanym skrótem dla wyjścia ODS z opcjonalną kontrolą TODSExportOptions |
| GetConversionReport / SaveAsChecked | Przegląda należący do wywołującego, wolny od mutacji raport konwersji znanych funkcji albo odrzuca pogorszone i porzucone funkcje przed zapisem, pozostawiając AllowLossy=False
Jawny zapis ze stratami nadal odrzuca nieobsługiwane konwersje; zobacz wierność obliczeń i konwersji, aby poznać granice celu, własności, diagnostyki i zachowania |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Zapisuje skoroszyt bezpośrednio do dowolnego TStream, a przeładowanie FileFormat przyjmuje xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet, xlsxOpenXMLTemplate albo xlsxOpenXMLMacroEnabledTemplate dla skoroszytów OOXML w pamięci, arkuszy ODS, szablonów XLTX lub szablonów XLTMZwraca 1 przy powodzeniu, a strumieniowe zapisy honorują RecalcBeforeSave: tryb ręczny zachowuje istniejące pamięci podręczne formuł, a zasady dirty i always odświeżają je przed serializacjąWłaścicielem strumienia pozostaje wywołujący; anulowanie przed rozpoczęciem zapisu zachowuje jego zawartość i pozycję, a porażka po rozpoczętej serializacji może zostawić częściowe wyjście |
| Open(FileName) | Odczytuje archiwum OOXML
Sheets i zastępuje kolekcję 1
jego zawartością. Zwraca |
| Open(FileName, Password) | Zarezerwowane na przyszłą obsługę szyfrowanego XLSX. Zachowuje się
jak Open(FileName) przy powodzeniu |
| Open(Stream) | Reads an OOXML .xlsx archive from a
TStreamReserved dla future encrypted XLSX obsługa. Behaves
like 1 today — hasło jest ignored |
| OpenCSV(FileName) / OpenCSV(Stream) | Importuje tekst CSV lub TSV do skoroszytu z automatycznym wykrywaniem separatora (,, ;, tab albo pipe), wykrywaniem kodowania UTF-8 / UTF-16 na podstawie BOM, polami w cudzysłowie zgodnymi z RFC 4180 oraz opcjonalnym wyznaczaniem typu wartości przez przeciążenia ADetectTypes . Wywołanie
Open(FileName) dla .csv albo
.tsv automatycznie kieruje do tego importera. Zobacz
OpenCSV method |
| OpenODS(FileName) / OpenODS(Stream) | Importuje pakiet OpenDocument Spreadsheet (.ods) z pliku lub strumienia. Czytnik ładuje content.xml, współdzielone style z styles.xmli ustawienia widoku, gdy są obecne, zachowując nazwy arkuszy, wartości skalarne, buforowane wyniki formuł, podstawową konwersję odwołań w formułach, powtórzone wiersze/kolumny/komórki, scalone zakresy, rich text, hiperłącza, komentarze, osadzone obrazy, osadzone wykresy, ukryte wiersze/kolumny/arkusze, wysokości wierszy, szerokości kolumn, dziedziczone/domyslne style, formaty liczb/daty/czasu/waluty/naukowe/łamkowe, stan ochrony komórek i arkuszy, nazwane zakresy, obszary wydruku, ręczne podziały stron, zamrożone okienka, zakresy AutoFiltra, grupy outline wierszy/kolumn, nagłówki i stopki, sprawdzanie poprawności danych z podpowiedziami, formatowanie warunkowe z formułami/skalami kolorów/słupkami danych oraz kolor karty arkusza. Pełna semantyka OpenFormula, klucze ochrony ODS, geometria komentarzy, zaawansowane formatowanie komentarzy i funkcje pakietu spoza zawartości arkusza nie są konwertowane |
| SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptions | Zapisuje skoroszyt jako prawidłowy pakiet OpenDocument Spreadsheet. Zapisuje bezpośrednio ODF mimetype, manifest, metadane, style i zawartość arkusza, przenosząc typowane wartości, formuły, style, rich text, wymiary, scalania, hiperłącza, obrazy, wykresy, nazwane zakresy, zakresy AutoFiltra, formatowanie warunkowe, sprawdzanie poprawności danych, zamrożone okienka, ustawienia strony, nagłówki i stopki, obszary wydruku, ręczne podziały stron, grupy outline, kolor karty i widoczność arkusza tam, gdzie te funkcje są reprezentowane w modelu skoroszytu HotXLS. Przekazanie opcji eksportu, łącznie z nil, zachowuje normalną zasadę przeliczania, anulowanie postępu, diagnostykę i ochronę zapisu. Wyjście plikowe etapuje plik sąsiedni i podmienia cel dopiero po udanej serializacji; porażka serializacji i anulowanie przed zatwierdzeniem zachowują wcześniejszy cel. Postęp zapisu raportuje każdą ukończoną tabelę, a ppsEnd to końcowe powiadomienie, którego żądanie Abort nie potrafi anulować już ukończonego zapisu. Wyjście strumieniowe zachowuje własność wywołującego i zwykłe zachowanie zapisu strumieniowego, które może zostawić częściowe wyjście po rozpoczętej serializacji |
| TODSExportOptions | w Generator ; pusta wartość używa wbudowanego ciągu generatora HotXLS. meta:generator i meta.xmlmają domyślnie IncludeCharts i, gdy są IncludeImages , usuwają odpowiednie ramki rysunków, części pakietu i wpisy manifestu razem, aby wynik nie zawierał osieroconych odwołań do wykresów lub obrazów. Instancja opcji należy do wywołującego i musi zostać zwolniona |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Odczytuje tylko nazwy arkuszy ODS z content.xml do AList bez resetowania ani wypełniania skoroszytu. Użyj tego, gdy okno wyboru pliku albo przepływ importu potrzebuje nazw arkuszy przed załadowaniem skoroszytu |
| SaveAsCSV overloads | Cztery przeciążenia (FileName lub Stream × domyślny aktywny arkusz / jawny SheetIndex + Delimiter). Zapisuje wybrany arkusz jako UTF-8 CSV z BOM. Wartości dat są zapisywane jako
yyyy-mm-dd hh:nn:ss; komórki formuł są obliczane przed eksportem, a tekst formuły jest używany tylko wtedy, gdy obliczenie nie jest dostępne. Zwraca 0 przy powodzeniu |
| SaveAsHTML overloads | Przeciążenia opcji akceptują TXLSXHtmlExportOptions dla Title, WriteDocument, IncludeStyles, IncludeBOMi TableClass. Ustaw WriteDocument na False dla fragmentu tabeli; ustaw IncludeBOM na False , gdy osadzasz wynik w istniejącej odpowiedzi UTF-8. Wyeksportowany wynik zachowuje hiperłącza komórek jako kotwice <a> i zakotwiczone obrazy jako wbudowane URI obrazów data: ; eksport na poziomie skoroszytu zawiera kotwice poza wypełnionymi komórkami. Komentarze komórek są też emitowane jako escapowane atrybuty <td>title , a eksport na poziomie skoroszytu zawiera kotwice tylko z komentarzami. Gdy IncludeStyles jest włączone, jawne wartości ColWidth są emitowane jako szerokości <col> , a jawne wartości RowHeight jako style wysokości <tr> . Fragmenty rich text są emitowane jako escapowane elementy <span> z wbudowanymi stylami fontu, koloru, pogrubienia i podkreślenia, gdy IncludeStyles jest włączone. Obramowania komórek są emitowane jako reguły CSS border-left, border-right, border-topi border-bottom , gdy IncludeStyles jest włączone. Ukryte wiersze i kolumny oznaczone RowHidden / ColHidden, plus jawne kolumny o zerowej szerokości, są pomijane w wygenerowanej tabeli i <colgroup>. Ustawienia wyrównania pionowego są emitowane jako reguły CSS vertical-align , gdy IncludeStyles jest włączone |
| SaveAsRTF overloads | Cztery przeciążenia (FileName lub Stream × domyślny aktywny arkusz / jawny SheetIndex). Zapisuje wybrany arkusz jako dokument RTF 1.6 z prostą tabelą. Szerokości kolumn są wyliczane z danych ColWidth (1 jednostka znaku ≈ 96 twips; domyślnie 809 twips). Stosowane są pogrubienie / kursywa / rozmiar czcionki per komórka; znaki nie-ASCII są kodowane jako podpisane 16-bitowe escape'y RTF Unicode \uN?
. Scalonych komórek nie rozciąga się. Zwraca 0 przy powodzeniu |
| ActiveSheet | 1-bazowy indeks aktywnego (wybranego) arkusza (0, gdy żaden nie jest aktywny), zgodny z klasycznym silnikiem XLS ActiveSheetIndex. SaveAs zapisuje activeTab="N" na <workbookView> (sam atrybut OOXML activeTab pozostaje 0-bazowy), gdy trzeba emitować opcje widoku skoroszytu, i oznacza odpowiadający arkusz tabSelected="1" |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Flagi wyglądu okna skoroszytu zapisywane w <workbookView>. Minimized zapisuje minimized="1", WindowHidden zapisuje visibility="hidden", a ShowHorizontalScroll / ShowVerticalScroll ukrywają lub pokazują paski przewijania skoroszytu. Open zachowuje wszystkie cztery wartości |
| XWindow / YWindow / WindowWidth / WindowHeight | Geometria okna skoroszytu zapisywana w <workbookView>. XWindow i YWindow przechowują położenie okna, a WindowWidth i WindowHeight jego rozmiar. Wartości są ograniczane do 0..65535 i wracają bez zmian przy odczycie |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Opcje widoku okna skoroszytu zapisywane w <workbookView>. ShowSheetTabs ukrywa lub pokazuje pasek kart arkuszy, TabRatio kontroluje podział szerokości między paskiem kart a paskiem przewijania i jest ograniczany do 0..1000, FirstSheet wybiera pierwszy widoczny tab jako 0-bazowy indeks arkusza i ogranicza się do istniejącego arkusza, a AutoFilterDateGrouping steruje grupowaniem dat Excela w rozwijanych listach AutoFiltra. Open zachowuje wszystkie cztery wartości |
| Date1904 | Baza daty skoroszytu. False (domyślnie) = epoka Windows 1900; True = epoka Mac 1904 (przesuwa każdy serial daty o 1462 dni). Ustaw to przed przypisaniem wartości komórek before assigning
TDateTime , aby Excel wyświetlił tę samą datę kalendarzową |
| Iterate / IterateCount / IterateDelta | Wartość ARGB dla danego slotu palety kolorów OOXML (0..63). Odczyt zwraca nadpisanie użytkownika, jeśli jest ustawione, w przeciwnym razie wbudowany domyślny OOXML (
IterateCount ). Zapis nadpisuje slot
IterateDelta ; Iterate is
currently False |
| CalcMode / RefMode / CalcId | Steruje trybem obliczeń skoroszytu, stylem odwołań w formułach
i tożsamością silnika obliczeń
CalcMode przyjmuje auto,
manual albo autoNoTable
RefMode przyjmuje A1 lub R1C1
z wejściem ignorującym wielkość liter i kanonicznym wyjściem
Nowoczesne wyjście rozbudowanych błędów używa emitowanego CalcId o wartości co najmniej
191029, tak aby Excel interpretował zapamiętane nowoczesne błędy, zachowując
wyższe żądane wartości i pozostawiając właściwość w pamięci bez zmian |
| FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision | Steruje pełnym przeliczaniem, zakończeniem obliczeń
buforowanych, przeliczaniem przed zapisem i polityką precyzji
Każda wartość inna niż domyślna niezależnie emituje i przechodzi w rundzie z pasującym
<calcPr> attribute |
| ConcurrentCalc / ConcurrentManualCount | wypisuje wtedy pełny blok
ConcurrentManualCount ze wszystkimi 64 slotami |
| SourceFormat | Zgłasza rodzinę pakietu wczytaną przez ostatnie udane wywołanie Open lub OpenODS, zwracając xlsxOpenXMLWorkbook dla skoroszytów i szablonów OOXML, w tym XLTX i XLTM, xlsxOpenDocumentSpreadsheet dla ODS oraz xlsxExcelBinaryWorkbook dla obsługiwanego podzbioru wartości i stylów XLSBNowo utworzony skoroszyt zgłasza xlsxOpenXMLWorkbook, dopóki nie zostanie otwarty plik, a ta właściwość nie wybiera formatu wyjściowego |
| IndexedColor[Index] | zwraca liczbę nadpisanych slotów (0 = brak blokuXlsxDefaultIndexedPaletteemitowanego przez N).
<indexedColors> usuwa każde nadpisanie i przywraca domyślną paletę |
| ResolveIndexedColor | Kolekcja zewnętrznych odwołań do skoroszytów. Każdy wpis icv przechowuje docelowy URL i listę |
| NearestIndexedColor | emituje blok |
| ScanIndexedColorUsage | oraz odpowiednie części |
| BuildBiffPalettePlan | Zwraca niemutowowalny plan palety BIFF o 56 gniazdach, z zablokowanymi gniazdami, zagregowanymi celami true-color, deterministycznymi mapowaniami, tożsamością źródła i ważonymi statystykami błędów OKLab |
| ApplyBiffPalettePlan | Waliduje tożsamość źródła, metadane gniazd, blokady i nieprzezroczyste cele przed atomowym zastosowaniem wszystkich zmienionych wpisów palety i jednokrotną przebudową matchera z pamięci podręcznej |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | HasCustomIndexedColor(N) .
True zachowuje
CustomIndexedColorCount i <colors> ; buforowane wartości komórek wewnątrz
ResetIndexedColors nie są zachowywane |
| ExternalLinks | Kolekcja zewnętrznych odwołań skoroszytu. Każdy wpis
TXLSXExternalLink
przechowuje docelowy URL oraz listę SheetNames . <externalReferences> emituje blok
xl/workbook.xml w
xl/externalLinks/ oraz odpowiadające mu części
<sheetDataSet> . |
| CreateWorkspaceWorkbook | Returns the revocable IXLSWorkspaceWorkbook adapter dla tego skoroszytu. Adapter zachowuje tożsamość źródła skoroszytu i jego generację oraz rozłącza się, zanim model skoroszytu zostanie zniszczony |
| ExternalWorkspace | Wątkowo bezpieczny rejestr zachowujący ścieżki, używany przez żywą ewaluację formuł zewnętrznych. Dokładne tożsamości i aliasy są preferowane, niejednoznaczne wyszukiwanie po nazwie bazowej pliku jest odrzucane, a normalizacja tożsamości nie wykonuje żadnego niejawnego dostępu do plików ani sieci. Zobacz Live workbook workspace |
| RegisterExternalWorkbook / UnregisterExternalWorkbook | zachowuje wartości Target i SheetNames przy round-tripie; buforowane wartości komórek wewnątrz ExternalWorkspace nie są zachowywane |
uses lxHandleX;
var
wb: TXLSXWorkbook;
begin
wb := TXLSXWorkbook.Create;
try
wb.Sheets.Add('Demo').Cells.Item[1, 1].Value := 'Hello';
wb.SaveAs('demo.xlsx');
wb.Open('demo.xlsx');
ShowMessage(wb.Sheets[0].Cells.Item[1, 1].Value);
finally
wb.Free;
end;
end;