Ottieni intervallo con link esterni con C++
Ottieni Intervallo con Link Esterni
Molte volte i file Excel accedono ai dati da altri file Excel utilizzando link esterni. Aspose.Cells offre l’opzione di recuperare questi link esterni utilizzando il metodo Name.GetReferredAreas. Il metodo Name.GetReferredAreas restituisce un array di tipo ReferredArea. La classe ReferredArea fornisce una proprietà GetExternalFileName() che restituisce il nome del file esterno. La classe ReferredArea espone i seguenti membri.
- GetEndColumn(): La colonna finale dell’area
- GetEndRow(): La riga finale dell’area
- GetExternalFileName(): Ottieni il nome del file esterno se questo è un riferimento esterno
- IsArea: Indica se questa è un’area
- IsExternalLink: Indica se questa è una connessione esterna
- GetSheetName(): Indica in quale foglio si trova questo riferimento
- GetStartColumn(): La colonna di inizio dell’area
- GetStartRow(): La riga di inizio dell’area
Il codice di esempio riportato di seguito mostra l’uso del metodo Name.GetReferredAreas per ottenere intervalli con collegamenti esterni.
Codice di Esempio
#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;
}