تغيير المسار المطلق لملف مصدر بيانات الرابط الخارجي
سيناريوهات الاستخدام المحتملة
إذا كنت ترغب في تغيير المسار المطلق لملف مصدر بيانات الرابط الخارجي، يرجى استخدام خصائص الـ Workbook.AbsolutePath. في البداية، سيتم تعيين هذه الخاصية على المسار من حيث تم تحميل ملف الإكسل. ولكن يمكنك تعيينها على سلسلة فارغة أو يمكنك تعيينها على مسار مجلد محلي أو مسار شبكة بعيدة. في كل مرة تغير في هذه الخاصية، سيتم تغيير مسار مصدر بيانات الرابط الخارجي أيضًا.
تقوم الكود عينة التالي بتحميل ملف إكسل عينة الذي يحتوي على رابط خارجي. يقوم أولاً بطباعة مصدر بيانات الرابط الخارجي الذي يطبع المسار البعيد. ثم يقوم بإزالة المسار البعيد والطباعة مرة أخرى، وهذه المرة، يطبع مصدر بيانات الرابط الخارجي بالمسار المحلي. ثم يقوم بتغيير خاصية Workbook.AbsolutePath على مسار محلي وبعيد ويطبع مصدر بيانات الرابط الخارجي مرة أخرى وتؤخذ التغييرات في الإخراج الوحدة النمطية.
يحمل الكود النموذجي التالي ملف الإكسل عينة الذي يحتوي على رابط خارجي. يطبع أولاً مصدر البيانات من الرابط الخارجي والذي يطبع المسار البعيد. ثم يزيل المسار البعيد ويطبع مرة أخرى، وهذه المرة، يطبع مصدر البيانات من الرابط الخارجي بالمسار المحلي. ثم يغير خاصية Workbook.AbsolutePath إلى مسار محلي وعن بعد ويطبع مرة أخرى مصدر البيانات من الرابط الخارجي وينعكس التغيير في مخرجات وحدة التحكم.
الكود المثالي
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(ChangeAbsolutePathofExternalLink.class) + "articles/"; | |
// Load your source excel file containing the external link | |
Workbook wb = new Workbook(dataDir + "sample.xlsx"); | |
// Access the first external link | |
ExternalLink externalLink = wb.getWorksheets().getExternalLinks().get(0); | |
// Print the data source of external link, it will print existing remote | |
// path | |
System.out.println("External Link Data Source: " + externalLink.getDataSource()); | |
// Remove the remote path and print the new data source | |
// Assign the new data source to external link and print again, it will | |
// now print data source with local path | |
externalLink.setDataSource("ExternalAccounts.xlsx"); | |
System.out.println("External Link Data Source After Removing Remote Path: " + externalLink.getDataSource()); | |
// Change the absolute path of the workbook, it will also change the | |
// external link path | |
wb.setAbsolutePath("C:\\Files\\Extra\\"); | |
// Now print the data source again | |
System.out.println("External Link Data Source After Changing Workbook.AbsolutePath to Local Path: " + externalLink.getDataSource()); | |
// Change the absolute path of the workbook to some remote path, it will | |
// again affect the external link path | |
wb.setAbsolutePath("http://www.aspose.com/WebFiles/ExcelFiles/"); | |
// Now print the data source again | |
System.out.println("External Link Data Source After Changing Workbook.AbsolutePath to Remote Path: " + externalLink.getDataSource()); |
مخرجات الوحدة
فيما يلي إخراج الوحدة النمطية بعد تنفيذ الكود أعلاه مع ملف إكسل عينة.
External Link Data Source: http:\\ws874dmErit\WebFiles\Files\300\ExternalAccounts.xlsx
External Link Data Source After Removing Remote Path: D:\Downloads\ExternalAccounts.xlsx
External Link Data Source After Changing Workbook.AbsolutePath to Local Path: C:\Files\Extra\ExternalAccounts.xlsx
External Link Data Source After Changing Workbook.AbsolutePath to Remote Path: http://www.aspose.com/WebFiles/ExcelFiles/ExternalAccounts.xlsx