Aspose::Words::Tables::CellCollection класс

CellCollection class

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

class CellCollection : public Aspose::Words::NodeCollection

Методы

МетодОписание
Add(const System::SharedPtr<Aspose::Words::Node>&)Добавляет узел в конец коллекции.
Clear()Удаляет все узлы из этой коллекции и из документа.
Contains(const System::SharedPtr<Aspose::Words::Node>&)Определяет, находится ли узел в коллекции.
get_Count()Получает количество узлов в коллекции.
GetEnumerator() overrideПредоставляет простую итерацию в стиле “foreach” по коллекции узлов.
GetType() const override
idx_get(int32_t)Получает Cell по заданному индексу.
IndexOf(const System::SharedPtr<Aspose::Words::Node>&)Возвращает нулевой индекс указанного узла.
Insert(int32_t, const System::SharedPtr<Aspose::Words::Node>&)Вставляет узел в коллекцию по указанному индексу.
Is(const System::TypeInfo&) const override
Remove(const System::SharedPtr<Aspose::Words::Node>&)Удаляет узел из коллекции и из документа.
RemoveAt(int32_t)Удаляет узел по указанному индексу из коллекции и из документа.
ToArray()Копирует все ячейки из коллекции в новый массив ячеек.
static Type()

Примеры

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

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;
}

См. также