Класс Aspose::Words::Tables::Cell

Cell class

Представляет ячейку таблицы. Чтобы узнать больше, посетите статью документации Working with Tables.

class Cell : public Aspose::Words::CompositeNode,
             public Aspose::Words::ICellAttrSource,
             public Aspose::Words::Revisions::ITrackableNode

Методы

МетодОписание
Accept(System::SharedPtr<Aspose::Words::DocumentVisitor>) overrideПринимает посетителя.
AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor>) overrideПринимает посетитель для посещения конца ячейки.
AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor>) overrideПринимает посетитель для посещения начала ячейки.
AppendChild(T)
Cell(const System::SharedPtr<Aspose::Words::DocumentBase>&)Инициализирует новый экземпляр класса Cell.
Clone(bool)Создаёт дубликат узла.
EnsureMinimum()Если последний дочерний элемент не является абзацем, создаёт и добавляет один пустой абзац.
get_CellFormat()Предоставляет доступ к свойствам форматирования ячейки.
get_Count()Возвращает количество непосредственных дочерних элементов этого узла.
get_CustomNodeId() constУказывает пользовательский идентификатор узла.
virtual get_Document() constВозвращает документ, к которому принадлежит этот узел.
get_FirstChild() constВозвращает первого дочернего узла.
get_FirstParagraph()Получает первый абзац среди непосредственных дочерних элементов.
get_HasChildNodes()Возвращает true, если у этого узла есть дочерние узлы.
get_IsComposite() overrideВозвращает true, поскольку этот узел может иметь дочерние узлы.
get_IsFirstCell()Истина, если это первая ячейка в строке; иначе ложь.
get_IsLastCell()Истина, если это последняя ячейка в строке; иначе ложь.
get_LastChild() constВозвращает последнего дочернего узла.
get_LastParagraph()Получает последний абзац среди непосредственных дочерних элементов.
get_NextCell()Получает следующий Cell узел.
get_NextNode() const
get_NextSibling()Возвращает узел, непосредственно следующий за этим узлом.
get_NodeType() const overrideВозвращает Cell.
get_Paragraphs()Получает коллекцию абзацев, которые являются непосредственными дочерними элементами ячейки.
get_ParentNode()Возвращает непосредственного родителя этого узла.
get_ParentRow()Возвращает родительскую строку ячейки.
get_PreviousCell()Получает предыдущий узел Cell.
get_PreviousSibling()Возвращает узел, непосредственно предшествующий этому узлу.
get_PrevNode() const
get_Range()Возвращает объект Range, представляющий часть документа, содержащуюся в этом узле.
get_Tables()Получает коллекцию таблиц, которые являются непосредственными дочерними элементами ячейки.
GetAncestor(Aspose::Words::NodeType)Возвращает первого предка указанного NodeType.
GetAncestorOf()
GetChild(Aspose::Words::NodeType, int32_t, bool)Возвращает N‑й дочерний узел, соответствующий указанному типу.
GetChildNodes(Aspose::Words::NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator() overrideОбеспечивает поддержку итерации в стиле foreach по дочерним узлам этого узла.
GetText() overrideПолучает текст этого узла и всех его дочерних узлов.
GetType() const override
IndexOf(const System::SharedPtr<Aspose::Words::Node>&)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter(T, const System::SharedPtr<Aspose::Words::Node>&)
InsertBefore(T, const System::SharedPtr<Aspose::Words::Node>&)
Is(const System::TypeInfo&) const override
IsAncestorNode(const System::SharedPtr<Aspose::Words::Node>&)
NextPreOrder(const System::SharedPtr<Aspose::Words::Node>&)Получает следующий узел согласно алгоритму обхода дерева в порядке предобхода.
static NodeTypeToString(Aspose::Words::NodeType)Вспомогательный метод, преобразующий значение перечисления типа узла в удобочитаемую строку.
PrependChild(T)
PreviousPreOrder(const System::SharedPtr<Aspose::Words::Node>&)Получает предыдущий узел согласно алгоритму обхода дерева в порядке предобхода.
Remove()Удаляет себя из родительского узла.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild(T)
RemoveSmartTags()Удаляет все дочерние узлы SmartTag текущего узла.
SelectNodes(const System::String&)Выбирает список узлов, соответствующих XPath-выражению.
SelectSingleNode(const System::String&)Выбирает первый Node, соответствующий XPath-выражению.
set_CustomNodeId(int32_t)Сеттер для Aspose::Words::Node::get_CustomNodeId.
set_NextNode(const System::SharedPtr<Aspose::Words::Node>&)
set_PrevNode(const System::SharedPtr<Aspose::Words::Node>&)
SetParent(const System::SharedPtr<Aspose::Words::Node>&)
SetTemplateWeakPtr(uint32_t) override
ToString(Aspose::Words::SaveFormat)Экспортирует содержимое узла в строку в указанном формате.
ToString(const System::SharedPtr<Aspose::Words::Saving::SaveOptions>&)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.
static Type()

Примечания

Cell can only be a child of a Row.

Cell can contain block-level nodes Paragraph and Table.

Минимальная корректная ячейка должна содержать как минимум один Paragraph.

Примеры

Показывает, как создать таблицу.

auto doc = System::MakeObject<Aspose::Words::Document>();
auto table = System::MakeObject<Aspose::Words::Tables::Table>(doc);
doc->get_FirstSection()->get_Body()->AppendChild<System::SharedPtr<Aspose::Words::Tables::Table>>(table);

// Таблицы содержат строки, которые содержат ячейки, которые могут иметь абзацы
// с типичными элементами, такими как фрагменты, фигуры и даже другие таблицы.
// Вызов метода "EnsureMinimum" у таблицы гарантирует, что
// у таблицы будет как минимум одна строка, ячейка и абзац.
auto firstRow = System::MakeObject<Aspose::Words::Tables::Row>(doc);
table->AppendChild<System::SharedPtr<Aspose::Words::Tables::Row>>(firstRow);

auto firstCell = System::MakeObject<Aspose::Words::Tables::Cell>(doc);
firstRow->AppendChild<System::SharedPtr<Aspose::Words::Tables::Cell>>(firstCell);

auto paragraph = System::MakeObject<Aspose::Words::Paragraph>(doc);
firstCell->AppendChild<System::SharedPtr<Aspose::Words::Paragraph>>(paragraph);

// Добавьте текст в первую ячейку первой строки таблицы.
auto run = System::MakeObject<Aspose::Words::Run>(doc, u"Hello world!");
paragraph->AppendChild<System::SharedPtr<Aspose::Words::Run>>(run);

doc->Save(get_ArtifactsDir() + u"Table.CreateTable.docx");

Показывает, как пройтись по всем таблицам в документе и вывести содержимое каждой ячейки.

auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Tables.docx");
System::SharedPtr<Aspose::Words::Tables::TableCollection> tables = doc->get_FirstSection()->get_Body()->get_Tables();

ASSERT_EQ(2, tables->ToArray()->get_Length());

for (int32_t i = 0; i < tables->get_Count(); i++)
{
    std::cout << System::String::Format(u"Start of Table {0}", i) << std::endl;

    System::SharedPtr<Aspose::Words::Tables::RowCollection> rows = tables->idx_get(i)->get_Rows();

    // Мы можем использовать метод "ToArray" для коллекции строк, чтобы клонировать её в массив.
    ASPOSE_ASSERT_EQ(rows, rows->ToArray());
    ASPOSE_ASSERT_NS(rows, rows->ToArray());

    for (int32_t j = 0; j < rows->get_Count(); j++)
    {
        std::cout << System::String::Format(u"\tStart of Row {0}", j) << std::endl;

        System::SharedPtr<Aspose::Words::Tables::CellCollection> cells = rows->idx_get(j)->get_Cells();

        // Мы можем использовать метод "ToArray" для коллекции ячеек, чтобы клонировать её в массив.
        ASPOSE_ASSERT_EQ(cells, cells->ToArray());
        ASPOSE_ASSERT_NS(cells, cells->ToArray());

        for (int32_t k = 0; k < cells->get_Count(); k++)
        {
            System::String cellText = cells->idx_get(k)->ToString(Aspose::Words::SaveFormat::Text).Trim();
            std::cout << System::String::Format(u"\t\tContents of Cell:{0} = \"{1}\"", k, cellText) << std::endl;
        }

        std::cout << System::String::Format(u"\tEnd of Row {0}", j) << std::endl;
    }

    std::cout << System::String::Format(u"End of Table {0}\n", i) << std::endl;
}

См. также