Hämta område med externa länkar med C++
Hämta intervall med externa länkar
Ofta använder Excel-filer externa länkar för att få åtkomst till data i andra Excel-filer. Aspose.Cells ger möjlighet att hämta dessa externa länkar med hjälp av Name.GetReferredAreas metoden. Name.GetReferredAreas metoden returnerar en array av typen ReferredArea. ReferredArea klassen tillhandahåller en GetExternalFileName() egenskap som returnerar namnet på den externa filen. ReferredArea klassen exponeras av följande medlemmar.
- GetEndColumn(): ändens kolumn för området
- GetEndRow(): ändens rad för området
- GetExternalFileName(): Hämta det externa filnamnet om detta är en extern referens
- IsArea: Indikerar om detta är ett område
- IsExternalLink: Indikerar om detta är en extern länk
- GetSheetName(): Indikerar vilken bladreferens detta är i
- GetStartColumn(): Startkolumn för området
- GetStartRow(): Startrad för området
Kodexemplet nedan visar hur man använder Name.GetReferredAreas metoden för att hämta områden med externa länkar.
Exempelkod
#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;
}