Документація HotXLS

Розширені елементи XLSX API

Ці елементи охоплюють менш поширені, але публічні поверхні редагування XLSX, що доповнюють основні довідкові сторінки книги, аркуша, діапазону, стилю, фільтра та діаграми

Панелі аркуша, відображення та фон

TXLSXWorksheet.SplitPanes і RemoveSplit редагують стан розділених панелей; SplitRow, SplitCol, PaneStateKind і ScrollCol надають збережені координати подання

DisplayRowColHeaders керує заголовками рядків і стовпців, GridLinesSet відрізняє явний вибір ліній сітки від типового, а DefaultFormat разом із StyleOverlays надають стан стилів на рівні аркуша

BackgroundImageData і BackgroundImageFormat надають фонове зображення аркуша, BackgroundImageResource дає незалежний від бекенда payload лише для читання з описом формату, а ClearBackgroundImage видаляє його

Виділення панелей і прокручування

GetSelectedAreas і перевантаження SelectAreas з пріоритетом панелей використовують спільний тип TXLSPanePosition, зберігають упорядковані та перекривні області A1 і повертають знімки, що належать викликачу, з індексом активної області

Структурні зміни цілих рядків і стовпців перemapовують кожне виділення панелей, зберігають порядок тих, що лишилися, та ідентичність активної області, а під час вилучення активної області використовують детерміновані резервні варіанти — наступника, попередника або прикордонну клітинку

Нормалізація виділення, структурна перемапа та побудова знімків використовують однопрохідні конструктори та геометричне зростання ємності для лінеаризованої обробки великих областей

TryGetWindowScroll і ScrollWindow використовують ті самі логічні панелі та одновідлікові координати, зберігаючи загальну позицію прокручування sheetView і позиції нижчої чи правої pane незалежно

Відсутні панелі та недійсні оновлення залишають аркуш без змін; дивіться Worksheet pane selections and scrolling

Діапазони утримання разом під час пагінації

KeepRowsTogether, ClearKeepRowsTogether, KeepColumnsTogether, ClearKeepColumnsTogether і KeepTogetherCount визначають блоки, що мають залишатися на одній сторінці там, де це дозволяє геометрія

BreakSplitsKeepBlock, ColBreakSplitsKeepBlock, KeepBlockBreakRow і KeepColBlockBreakCol перевіряють, як запропоновані розриви сторінок взаємодіють із цими блоками

Помічники редагування аркуша

AddImagePair записує основне зображення та супутнє резервне, наприклад SVG і PNG, AddChartFromRanges будує діаграму з типізованих діапазонів категорій і значень, а CheckDataValidations повертає кожну комірку з порушенням

CheckDataValidation перевіряє одне кандидатне значення проти кожного правила перевірки даних, що охоплює клітинку, і повертає -1, коли значення коректне, або одновідліковий індекс першого правила, яке не пройдено; опційно підтверджує лише коректний кандидат

GetCellVisibleFormat визначає ефективне форматування аркуша, рядка, стовпця, накладання діапазону та явне форматування клітинки, не створюючи порожню клітинку; Subtotal групує відсортований діапазон за змінами одного стовпця та вставляє проміжні формули, опційні формули загальних підсумків, успадковане форматування та рівні структури

SortRangeInternal є розширеною точкою входу стабільного сортування, що використовується операціями з діапазонами та звітами; викликачам зазвичай слід віддавати перевагу SortRange або TXLSXRange.Sort

ClearColWidth і ClearRowHeight вилучають явний розмір одного стовпця чи рядка, щоб він повертався до типового значення аркуша, доповнюючи перевірки HasColWidth / HasRowHeight

Керування вузлами структури

TryGetOutlineNode повертає чутливий до напрямку підсумковий вузол, діапазон деталей, рівень структури, стан прихованості та явну позначку згортання для одновідлікового індексу рядка чи стовпця

SetOutlineNodeCollapsed ідемпотентно згортає чи розгортає один підсумковий вузол, а SetOutlineDisplayLevel застосовує одновідліковий рівень кнопки структури до кожної матеріалізованої групи; обидва приймають xocPreserve, xocCollapse або xocExpand для обробки дочірніх елементів

ToggleRowGrouped і ToggleColGrouped залишаються обгортками сумісності, які приймають індекс першої деталі та визначають фактичний підсумковий вузол із SummaryBelow чи SummaryRight

Машина групи рядків і стовпців OpenDocument відображаються через table:display, переживають прямі зміни метаданих і структури та конвертуються в позначки підсумкових вузлів XLSX без збереження прапорців згортання на рівні членів; дивіться Sparse outline geometry

Іменовані стилі та розв'язання стилів таблиць

TXLSXRange.ApplyNamedStyle пов'язує діапазон з іменованим стилем клітинки; TXLSXLinkedStyle.AutomaticChoose виводить зачеплені частини форматування зі стилю, тоді як LinkedParts явно обирає шрифт, заливку, межу, числовий формат, вирівнювання або захист

Редагування TXLSXNamedStyle.Style оновлює пов'язані частини, не відкидаючи локальні перевизначення, а GetCellVisibleFormat розв'язує результат разом із накладаннями аркуша та стилями таблиць, не матеріалізуючи порожні клітинки

TXLSXNamedStyles.FindByName знаходить запис іменованого стилю за його відображуваною назвою без ручного сканування колекції

Усі 60 вбудованих назв світлих, середніх і темних стилів таблиць розв'язуються в повні формати секцій на основі теми, спільні для виводу HTML, PDF, зображень, preview і viewer

Перетворення формул

TXLSXCell.ConvertFormulaToValue замінює одну формулу її кешованим значенням, а TXLSXCells.ConvertFormulasToValues застосовує ту саму операцію до збереженої колекції комірок

Перевірка введення формул

TXLSXWorkbook.FormulaEntryPolicy і TXLSXWorksheet.ValidateFormulaEntry розкривають спільний контракт введення формул без мутацій, розрізняють порожній текст, невідомі функції, невідомі назви, синтаксичні збої та недійсні цілі й розпізнають зареєстровані функції користувача, не викликаючи їх; дивіться Formula entry validation policy

Діагностика сховища клітинок

TXLSXCells.PackedStorageEnabled керує упакованим RLE-бекендом, який використовують сумісні типізовані масові записи в порядку рядків, а PackedCellCount повідомляє кількість клітинок, утримуваних там, до того як доступ на рівні об'єктів матеріалізує стабільні дескриптори клітинок

GetStorageStatistics повідомляє блоки рядків, заповнені рядки, кількість об'єктів, текстів, формул, форматованих текстів, оцінені упаковані, активні упаковані, виділені, використані байти та байти упакованих рядків для вимірних рішень про пам'ять; лічильники payload стилів і заощаджені байти стилізованих порожніх клітинок безпосередньо показують спільне використання copy-on-write

Деталі автофільтра

TXLSXAutoFilterColumn.ClearValueFilters очищає фільтри значень і груп дат, зберігаючи запис стовпця

HasCriteria2 і AndConnector описують користувацькі фільтри з двома умовами; кольорові фільтри використовують HasColorFilter, HasColorFilter_CellColor і HasColorFilter_DxfId; фільтри значків використовують HasIconFilter, HasIconFilter_Set і HasIconFilter_Id

Динамічні фільтри використовують HasDynamicFilter, HasDynamicFilter_Type, HasDynamicFilter_Val, HasDynamicFilter_ValSet, HasDynamicFilter_MaxVal і HasDynamicFilter_MaxValSet; RawXml зберігає непідтримувані дані фільтра

Градієнтні заливки

TXLSXFill.AddGradientStop додає колірну зупинку. GradientKind, GradientDegree, GradientLeft, GradientTop, GradientRight, GradientBottom, GradientStopCount і GradientStops надають лінійну або шляхову геометрію

BackgroundColorTheme, BackgroundColorIndex і BackgroundTintAndShade зберігають фону кольори, що не є RGB, а TXLSXFills.AddLinearGradient створює та реєструє повний лінійний градієнт

TXLSXFill.ForegroundColorTheme, ForegroundColorIndex і ForegroundTintAndShade — відповідні пари для переднього плану: вони зберігають кольори теми, індекс палітри та тінювання поруч із значенням RGB

Діаграми

TXLSXChart надає PlotGroupCount, ChartStyle, DispBlanksAs, PlotVisibleOnly і DataLabelsRange

TXLSXChartPlotGroup.Assign копіює групу графіка; ZOrder, BarGrouping, GapWidth і Overlap керують її упорядкуванням і геометрією стовпців

TXLSXChartSeries надає SolidFillHex, SolidFillSet, MarkerSymbol, MarkerSize, MarkerSet, LabelNumFmt, LabelNumFmtSet, LabelPos і LabelPosSet

Поклеєтинні підписи з комірок серії використовують DataLabelsRange, DataLabelsCache, ShowDataLabelsRange і ShowDataLabelsRangeSet; SetPointShowDataLabelsRange і TryGetPointShowDataLabelsRange підтримують розріджені перевизначення видимості з нульовою індексацією, а ResolveDataLabelsRange оновлює доступний текст аркуша один раз на покоління книги та зберігає зовнішні кеші, не відкриваючи джерело даних

TXLSXChartSeries.CategoriesMultiLevel емітить категорії c:multiLvlStrRef для ієрархічних підписів осей, тоді як типова поведінка залишає пласке емітвання c:strRef / c:numRef

TXLSXChartTrendline надає періоди прогнозування Intercept, InterceptSet, Forward і Backward, тоді як TXLSXChartAxis.ShowDispUnitsLabel керує позначкою одиниць відображення

Умовні формати та перевірки

TXLSXConditionalFormat.ContainsCellFast виконує індексовані перевірки належності, HasStyle повідомляє про диференційний стиль, а StdDev, EqualAverage і IsPivot надають розширені прапорці правил

TXLSXConditionalFormat.AcquireWriteGuard повертає IXLSWorkbookWriteGuard книги, тож пакетні зміни правил просувають покоління книги один раз після завершення

TXLSXDataValidation.ContainsCellFast виконує еквівалентну індексовану перевірку належності до діапазону перевірки

Таблиці, аркуші, посилання, коментарі та малюнки

TXLSXTable.TableType, ConnectionId, ColumnQueryTableFieldIds і HasHeaderRow зберігають метадані таблиць із підтримкою запитів та без заголовків

TXLSXTable.FindFirst і FindNext сканують наданий викликачем аркуш для рядків, у яких названий стовпець дорівнює значенню, і повертають одновідліковий рядок або 0, з порівнянням рядків без урахування регістра, числових і логічних значень

TXLSXSheets.AddCopy дублює аркуш із залежними об'єктами, а ByPos отримує доступ до колекції за поточною позицією вкладки

TXLSXExternalLink.AddDefinedName і DefinedNameCount підтримують кешовані зовнішні назви, а FindDefinedName знаходить запис за назвою; властивості лише для читання RelationshipId, SourceSlot і LinkKind розкривають ідентифікатор зв'язку частини зовнішнього посилання, одновідліковий слот [N], який використовують зовнішні формули, і класифікацію посилання (книга, DDE, OLE або невідоме); TXLSXHyperlink.TargetFrame зберігає цільовий контекст перегляду

TXLSXDefinedName.UnknownAttributes зберігає нерозпізнані атрибути іменованої назви, тож непідтримувані розширення переживають цикли збереження

TXLSXComment.AutoSizeFromText підганяє розмір фігури коментаря під його текст, а ClearFont видаляє явні фрагменти шрифту багатого тексту

TXLSXImage.SvgData зберігає супутнє SVG, а CameraRange визначає вихідний діапазон пов'язаного зображення; TXLSXTextBox.PrstToken зберігає маркер геометрії DrawingML

Зображення спільно використовують payload без копіювання байтів: присвоєння TXLSXImage.Blob (інтерфейс IXLSXImageBlob з Data, SvgData, CacheKey, ContentDigest, SvgContentDigest і ByteSize) — це шлях без копіювання для повторюваних зображень звітів, дайджести обчислюються один раз для інтернування медіа під час збереження, а TXLSXImage.CacheKey і ContentDigest лише для читання повідомляють призначену ідентичність; кеш звітів відхиляє один ключ кешу, повторно використаний з іншими байтами чи форматами

DrawingObjectCount і DrawingObject розкривають один стабільний змішаний порядок для зображень, діаграм, текстових полів, збережених сирих якорів і груп; кожен TXLSXDrawingObject розкриває Kind, Parent, ChildCount і TextBox і може бути переставлений через BringToFront, SendToBack, BringForward і SendBackward

GroupDrawingObjects створює групу DrawingML з урахуванням перетворень з вибраних об'єктів, а UngroupDrawingObject відновлює її дочірні елементи в порядку, зокрема для груп, завантажених з наявного пакета

Класичні відповідники аркуша

TXLSWorksheet.SetBackgroundImage, ClearBackgroundImage і BackgroundImageResource створюють, вилучають і переглядають фони аркушів BIFF8; растрові дані розкриваються як стандартний BMP, рідні чи невідомі формати зберігають сирий payload і код формату, а відомі фони конвертуються в обидва боки між рушіями Classic і XLSX

TXLSWorksheet.ConvertFormulasToValues замінює формули кешованими результатами, перевантаження OpenRTF імпортують таблицю RTF у ціль за замовчуванням або обрану викликачем, WriteAutoValue обирає тип комірки з варіанта, а DefaultFormat надає типовий XF аркуша

Див. також