Zaawansowane elementy API XLSX
Te elementy obejmują rzadziej używane, ale publiczne powierzchnie edycji XLSX, które uzupełniają główne strony referencyjne skoroszytu, arkusza, zakresu, stylu, filtra i wykresu
Okienka arkusza, wyświetlanie i tło
TXLSXWorksheet.SplitPanes i RemoveSplit edytują stan podzielonych okienek; SplitRow, SplitCol, PaneStateKind i ScrollCol udostępniają zapisane współrzędne widoku
DisplayRowColHeaders kontroluje nagłówki wierszy i kolumn, GridLinesSet odróżnia jawny wybór linii siatki od domyślnego, a DefaultFormat wraz z StyleOverlays udostępnia stan stylów na poziomie arkusza
BackgroundImageData i BackgroundImageFormat udostępniają obraz tła arkusza, BackgroundImageResource dostarcza payload i opis formatu niezależny od zaplecza (tylko do odczytu), a ClearBackgroundImage go usuwa
Zaznaczenia okienek i przewijanie
GetSelectedAreas i pierwsze-okienkowe przeciążenie SelectAreas używają współdzielonego typu TXLSPanePosition, zachowują uporządkowane i nakładające się obszary A1 oraz zwracają migawki należące do wywołującego wraz z indeksem aktywnego obszaru
Strukturalne edycje całych wierszy i kolumn przemapowują każde zaznaczenie okienek, zachowują kolejność ocalałych i tożsamość aktywnego obszaru, a po usunięciu aktywnego obszaru stosują deterministyczne fallbacki: następnik, poprzednik albo komórkę graniczną
Normalizacja zaznaczeń, strukturalne remapowanie i budowa migawek korzystają z builderów jednego przebiegu i geometrycznego wzrostu pojemności, co daje zamortyzowaną liniowość przy dużych obszarach
TryGetWindowScroll i ScrollWindow używają tych samych logicznych okienek i współrzędnych numerowanych od 1, zachowując niezależnie ogólne pozycje przewijania sheetView oraz dolnego/prawego pane
Brakujące okienka i nieprawidłowe aktualizacje pozostawiają arkusz bez zmian; zobacz Zaznaczenia okienek arkusza i przewijanie
Zakresy utrzymywane razem przy paginacji
KeepRowsTogether, ClearKeepRowsTogether, KeepColumnsTogether, ClearKeepColumnsTogether i KeepTogetherCount definiują bloki, które powinny pozostać na jednej stronie, jeśli pozwala na to geometria
BreakSplitsKeepBlock, ColBreakSplitsKeepBlock, KeepBlockBreakRow i KeepColBlockBreakCol sprawdzają, jak proponowane podziały stron współdziałają z tymi blokami
Pomocniki edycji arkusza
AddImagePair zapisuje obraz główny plus towarzyszący mu rezerwowy, np. SVG i PNG, AddChartFromRanges buduje wykres z wpisanych zakresów kategorii i wartości, a CheckDataValidations zwraca każdą naruszającą komórkę
CheckDataValidation testuje jedną kandydacką wartość przeciw każdej regule walidacji pokrywającej komórkę i zwraca -1, gdy jest poprawna, albo indeks (od 1) pierwszej niespełnionej reguły, opcjonalnie zatwierdzając wyłącznie poprawnego kandydata
GetCellVisibleFormat rozwiązuje efektywne formatowanie arkusza, wiersza, kolumny, nakładek zakresu i jawne formatowanie komórki bez tworzenia pustej komórki; Subtotal grupuje posortowany zakres po zmianach jednej kolumny i wstawia formuły sum częściowych, opcjonalne formuły sum całkowitych, odziedziczone formatowanie oraz poziomy konspektu
SortRangeInternal to zaawansowany punkt wejścia stabilnego sortowania używany przez operacje zakresu i raportu; wywołujący zwykle powinni preferować SortRange lub TXLSXRange.Sort
ClearColWidth i ClearRowHeight usuwają jawny wymiar jednej kolumny lub wiersza, dzięki czemu wraca on do domyślnego arkusza, uzupełniając sondy HasColWidth / HasRowHeight
Sterowanie węzłami konspektu
TryGetOutlineNode zwraca kierunkowy węzeł podsumowania, zakres szczegółów, poziom konspektu, stan ukrycia i jawny znacznik zwinięcia dla wiersza albo kolumny numerowanej od 1
SetOutlineNodeCollapsed idempotentnie zwija albo rozwija jeden węzeł podsumowania, a SetOutlineDisplayLevel stosuje poziom przycisku konspektu (numerowany od 1) w każdym zmaterializowanej grupie; oba przyjmują obsługę potomków xocPreserve, xocCollapse albo xocExpand
ToggleRowGrouped i ToggleColGrouped pozostają wrapperami zgodności, które przyjmują pierwszy indeks szczegółów i rozwiązują rzeczywisty węzeł podsumowania z SummaryBelow albo SummaryRight
Natywne grupy wierszy i kolumn OpenDocument mapują się przez table:display, przeżywają bezpośrednie edycje metadanych i struktury oraz konwertują na znaczniki węzłów podsumowań XLSX bez zachowywania flag zwinięcia na poziomie elementów; zobacz Sparse outline geometry
Style nazwane i rozwiązywanie stylów tabel
TXLSXRange.ApplyNamedStyle łączy zakres z nazwanym stylem komórki; TXLSXLinkedStyle.AutomaticChoose wyprowadza dotknięte części formatu ze stylu, a LinkedParts wybiera czcionkę, wypełnienie, obramowanie, format liczb, wyrównanie albo ochronę jawnie
Edycja TXLSXNamedStyle.Style aktualizuje powiązane części bez odrzucania lokalnych nadpisań, a GetCellVisibleFormat rozwiązuje wynik razem z nakładkami arkusza i stylami tabel, nie materializując pustych komórek
TXLSXNamedStyles.FindByName lokalizuje wpis stylu nazwanego po jego nazwie wyświetlanej, bez ręcznego skanowania kolekcji
Wszystkie 60 wbudowanych nazw stylów tabel light, medium i dark rozwiązuje się do kompletnych formatów sekcji opartych na motywie, współdzielonych przez wyjście HTML, PDF, obrazów, podglądu i przeglądarki
Konwersja formuł
TXLSXCell.ConvertFormulaToValue zastępuje jedną formułę jej wartością w pamięci podręcznej, a TXLSXCells.ConvertFormulasToValues stosuje tę samą operację do przechowywanej kolekcji komórek
Walidacja wpisywania formuł
TXLSXWorkbook.FormulaEntryPolicy i TXLSXWorksheet.ValidateFormulaEntry udostępniają wspólny, wolny od mutacji kontrakt wpisywania formuł, rozróżniają pusty tekst, nieznane funkcje, nieznane nazwy, błędy składni i nieprawidłowe cele oraz rozpoznają zarejestrowane funkcje użytkownika bez ich wywoływania; zobacz Zasady walidacji wpisywania formuł
Diagnostyka magazynu komórek
TXLSXCells.PackedStorageEnabled steruje spakowanym zapleczem RLE używanym przez kompatybilne typowane zapisy zbiorcze w kolejności wierszy, a PackedCellCount raportuje liczbę komórek tam utrzymywanych, dopóki dostęp na poziomie obiektów nie zmaterializuje stabilnych uchwytów komórek
GetStorageStatistics raportuje bloki wierszy, wypełnione wiersze oraz bajty obiektów, tekstu, formuł, tekstu sformatowanego, szacowane spakowane, aktywne spakowane, przydzielone, używane i spakowanych ciągów — do mierzalnych decyzji pamięciowych; liczniki payloadów stylów i zaoszczędzone bajty payloadów pustych komórek ze stylem pokazują współdzielenie copy-on-write wprost
Szczegóły autofiltra
TXLSXAutoFilterColumn.ClearValueFilters czyści filtry wartości i grup dat, zachowując wpis kolumny
HasCriteria2 i AndConnector opisują filtry niestandardowe z dwoma warunkami; filtry kolorów używają HasColorFilter, HasColorFilter_CellColor i HasColorFilter_DxfId; filtry ikon używają HasIconFilter, HasIconFilter_Set i HasIconFilter_Id
Filtry dynamiczne używają HasDynamicFilter, HasDynamicFilter_Type, HasDynamicFilter_Val, HasDynamicFilter_ValSet, HasDynamicFilter_MaxVal i HasDynamicFilter_MaxValSet; RawXml zachowuje nieobsługiwany ładunek filtra
Wypełnienia gradientowe
TXLSXFill.AddGradientStop dołącza punkt zatrzymania koloru. GradientKind, GradientDegree, GradientLeft, GradientTop, GradientRight, GradientBottom, GradientStopCount i GradientStops udostępniają geometrię liniową lub ścieżkową
BackgroundColorTheme, BackgroundColorIndex i BackgroundTintAndShade zachowują kolory tła inne niż RGB, a TXLSXFills.AddLinearGradient tworzy i rejestruje kompletny gradient liniowy
TXLSXFill.ForegroundColorTheme, ForegroundColorIndex i ForegroundTintAndShade to odpowiedniki pierwszego planu, zachowujące kolory pierwszego planu motywu, indeksu palety i tint-and-shade obok wartości RGB
Wykresy
TXLSXChart udostępnia PlotGroupCount, ChartStyle, DispBlanksAs, PlotVisibleOnly i fasadę zgodności DataLabelsRange, której setter rozgłasza wartość do bieżących serii i zasiewa późniejsze serie, a getter zwraca wyłącznie wspólną formułę per seria
TXLSXChartPlotGroup.Assign kopiuje grupę wykresu; ZOrder, BarGrouping, GapWidth i Overlap kontrolują jej kolejność i geometrię słupków
TXLSXChartSeries udostępnia SolidFillHex, SolidFillSet, MarkerSymbol, MarkerSize, MarkerSet, LabelNumFmt, LabelNumFmtSet, LabelPos i LabelPosSet
Etykiety per seria pobierane z komórek używają DataLabelsRange, DataLabelsCache, ShowDataLabelsRange i ShowDataLabelsRangeSet; SetPointShowDataLabelsRange i TryGetPointShowDataLabelsRange utrzymują rzadkie, numerowane od zera nadpisania widoczności, a ResolveDataLabelsRange odświeża dostępny tekst arkusza raz na generację skoroszytu i zachowuje zewnętrzne cache'y bez otwierania źródła danych
TXLSXChartSeries.CategoriesMultiLevel emituje kategorie c:multiLvlStrRef dla hierarchicznych etykiet osi, podczas gdy domyślnie pozostaje płaska emisja c:strRef / c:numRef
TXLSXChartTrendline udostępnia okresy prognozy Intercept, InterceptSet, Forward i Backward, natomiast TXLSXChartAxis.ShowDispUnitsLabel kontroluje etykietę jednostek wyświetlania
Formaty warunkowe i walidacje
TXLSXConditionalFormat.ContainsCellFast wykonuje indeksowane sprawdzenia przynależności, HasStyle raportuje styl różnicowy, a StdDev, EqualAverage i IsPivot udostępniają zaawansowane flagi reguł
TXLSXConditionalFormat.AcquireWriteGuard zwraca IXLSWorkbookWriteGuard skoroszytu, dzięki czemu wsadowe edycje reguł podnoszą generację skoroszytu raz, po zakończeniu
TXLSXDataValidation.ContainsCellFast wykonuje równoważne indeksowane sprawdzenie przynależności zakresu walidacji
Tabele, arkusze, łącza, komentarze i rysunki
TXLSXTable.TableType, ConnectionId, ColumnQueryTableFieldIds i HasHeaderRow zachowują metadane tabel wspieranych zapytaniami i tabel bez nagłówków
TXLSXTable.FindFirst i FindNext skanują arkusz dostarczony przez wywołującego w poszukiwaniu wierszy, których nazwana kolumna równa się wartości, i zwracają wiersz (od 1) albo 0, z porównaniami ciągów bez rozróżniania wielkości liter oraz liczbowymi i logicznymi
TXLSXSheets.AddCopy duplikuje arkusz z obiektami zależnymi, a ByPos uzyskuje dostęp do kolekcji według bieżącej pozycji karty
TXLSXExternalLink.AddDefinedName i DefinedNameCount utrzymują buforowane nazwy zewnętrzne, a FindDefinedName lokalizuje wpis po nazwie; właściwości tylko do odczytu RelationshipId, SourceSlot i LinkKind udostępniają identyfikator relacji części łącza zewnętrznego, slot [N] (numerowany od 1) używany przez formuły zewnętrzne oraz klasyfikację łącza (skoroszyt, DDE, OLE albo nieznane); TXLSXHyperlink.TargetFrame zachowuje docelowy kontekst przeglądania
TXLSXDefinedName.UnknownAttributes zachowuje nierozpoznane atrybuty nazwy zdefiniowanej, więc nieobsługiwane rozszerzenia przeżywają round-tripy
TXLSXComment.AutoSizeFromText dopasowuje rozmiar kształtu komentarza do jego tekstu, a ClearFont usuwa jawne przebiegi czcionki tekstu sformatowanego
TXLSXImage.SvgData przechowuje towarzyszący obraz SVG, a CameraRange identyfikuje źródłowy zakres obrazu powiązanego; TXLSXTextBox.PrstToken zachowuje token geometrii preset DrawingML
Obrazy współdzielą payloady bez kopiowania bajtów: przypisanie TXLSXImage.Blob (interfejs IXLSXImageBlob z Data, SvgData, CacheKey, ContentDigest, SvgContentDigest i ByteSize) to ścieżka zero-copy dla powtarzających się obrazów raportów, skróty są liczone raz pod kątem interningu mediów przy zapisie, a tylko do odczytu TXLSXImage.CacheKey i ContentDigest raportują przypisaną tożsamość; cache raportów odrzuca jeden klucz cache użyty ponownie z innymi bajtami albo formatem
DrawingObjectCount i DrawingObject udostępniają jeden stabilny porządek mieszany między obrazami, wykresami, polami tekstowymi, zachowanymi surowymi kotwicami i grupami; każdy TXLSXDrawingObject udostępnia Kind, Parent, ChildCount i TextBox oraz można go przestawiać przez BringToFront, SendToBack, BringForward i SendBackward
GroupDrawingObjects tworzy świadomą transformacji grupę DrawingML z wybranych obiektów, a UngroupDrawingObject przywraca jego elementy potomne w kolejności, włącznie z grupami wczytanymi z istniejącego pakietu
Klasyczne odpowiedniki arkusza
TXLSWorksheet.SetBackgroundImage, ClearBackgroundImage i BackgroundImageResource tworzą, usuwają i inspektują tła arkuszy BIFF8; dane bitmapy są udostępniane jako standardowy BMP, natywne albo nieznane formaty zachowują swój surowy payload i kod formatu, a znane tła konwertują w obu kierunkach między silnikami Classic i XLSX
TXLSWorksheet.ConvertFormulasToValues zastępuje formuły wynikami w pamięci podręcznej, przeciążenia OpenRTF importują tabelę RTF w domyślnym lub wybranym przez wywołującego celu, WriteAutoValue wybiera typ komórki na podstawie wariantu, a DefaultFormat udostępnia domyślny XF arkusza