Obtener Rango con enlaces externos con C++
Obtener Rango con Vínculos Externos
Muchas veces, los archivos de Excel acceden a datos de otros archivos de Excel usando enlaces externos. Aspose.Cells ofrece la opción de recuperar estos enlaces externos usando el método Name.GetReferredAreas. El método Name.GetReferredAreas devuelve una matriz del tipo ReferredArea. La clase ReferredArea proporciona una propiedad GetExternalFileName() que devuelve el nombre del archivo externo. La clase ReferredArea expone los siguientes miembros.
- GetEndColumn(): La columna final del área
- GetEndRow(): La fila final del área
- GetExternalFileName(): Obtener el nombre del archivo externo si esta es una referencia externa
- IsArea: Indica si esto es un área
- IsExternalLink: Indica si esto es un enlace externo
- GetSheetName(): Indica en qué hoja está esta referencia
- GetStartColumn(): La columna inicial del área
- GetStartRow(): La fila inicial del área
El código de ejemplo a continuación demuestra el uso del método Name.GetReferredAreas para obtener Rangos con enlaces externos.
Código de muestra
#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;
}