C++ ile Dış Bağlantılı Aralıkları Almak

Harici Bağlantıları Olan Aralığı Al

Birçok durumda Excel dosyaları, dış bağlantılar kullanarak başka Excel dosyalarından veri erişir. Aspose.Cells, bu dış bağlantıları almak için Name.GetReferredAreas metodunu kullanma seçeneği sunar. Name.GetReferredAreas metodu, ReferredArea türünde bir dizi döner. ReferredArea sınıfı, dış dosya adını döndüren GetExternalFileName() özelliği sağlar. ReferredArea sınıfı ise aşağıdaki üyeleri gözler önüne serer.

Aşağıda verilen örnek kod, Dış Bağlantılı Aralıkları almak için Name.GetReferredAreas metodunun kullanımını gösterir.

Örnek Kod

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    Workbook workbook(srcDir + u"SampleExternalReferences.xlsx");

    WorksheetCollection sheets = workbook.GetWorksheets();
    NameCollection namedRanges = sheets.GetNames();

    for (int i = 0; i < namedRanges.GetCount(); ++i)
    {
        Name namedRange = namedRanges.Get(i);
        Vector<ReferredArea> referredAreas = namedRange.GetReferredAreas(true);

        if (!referredAreas.IsNull())
        {
            for (int j = 0; j < referredAreas.GetLength(); ++j)
            {
                ReferredArea referredArea = referredAreas[j];
                std::cout << "IsExternalLink: " << referredArea.IsExternalLink() << std::endl;
                std::cout << "IsArea: " << referredArea.IsArea() << std::endl;
                std::cout << "SheetName: " << referredArea.GetSheetName().ToUtf8() << std::endl;
                std::cout << "ExternalFileName: " << referredArea.GetExternalFileName().ToUtf8() << std::endl;
                std::cout << "StartColumn: " << referredArea.GetStartColumn() << std::endl;
                std::cout << "StartRow: " << referredArea.GetStartRow() << std::endl;
                std::cout << "EndColumn: " << referredArea.GetEndColumn() << std::endl;
                std::cout << "EndRow: " << referredArea.GetEndRow() << std::endl;
            }
        }
    }

    Aspose::Cells::Cleanup();
    return 0;
}