Dokumentacja HotXLS

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

Zobacz także