احصل على النطاق مع روابط خارجية باستخدام C++
الحصول على نطاق مع روابط خارجية
كثيرًا ما تصل ملفات Excel إلى البيانات من ملفات أخرى باستخدام روابط خارجية. توفر Aspose.Cells خيار استرداد هذه الروابط الخارجية باستخدام طريقة Name.GetReferredAreas. ترجع طريقة Name.GetReferredAreas مصفوفة من النوع ReferredArea. يوفر فئة ReferredArea خاصية GetExternalFileName() التي تعيد اسم الملف الخارجي. تكشف فئة ReferredArea عن الأعضاء التالية.
- GetEndColumn(): عمود النهاية للمنطقة
- GetEndRow(): الصف النهائي للمنطقة
- GetExternalFileName(): الحصول على اسم الملف الخارجي إذا كان هذا مرجع خارجي
- IsArea: يشير إلى ما إذا كان هذا منطقة
- IsExternalLink: يشير إلى ما إذا كان هذا ارتباط خارجي
- GetSheetName(): يشير إلى الورقة التي يقع فيها هذا المرجع
- GetStartColumn(): العمود الابتدائي للمنطقة
- GetStartRow(): صف البداية للمنطقة
يوضح رمز النموذج المقدم أدناه استخدام طريقة Name.GetReferredAreas للحصول على النطاقات ذات الروابط الخارجية.
الكود المثالي
#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;
}