Изменение абсолютного пути источника данных внешней ссылки
Возможные сценарии использования
Если вы хотите изменить абсолютный путь источника данных внешней ссылки, то, пожалуйста, используйте свойство Workbook.AbsolutePath. Изначально это свойство будет установлено на путь, откуда был загружен excel-файл. Но вы можете установить его на пустую строку или на локальный путь к папке или удаленный сетевой путь. Когда вы измените это свойство, также изменится путь источника данных внешней ссылки.
Измените абсолютный путь внешнего источника данных ссылки
Следующий образец кода загружает образец файла Excel, который содержит внешнюю ссылку. Сначала он выводит источник данных внешней ссылки, который печатает удаленный путь. Затем он удаляет удаленный путь и снова печатает, на этот раз печатает источник данных внешней ссылки с локальным путем. Затем он изменяет свойство 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()); |
Вывод в консоль
Вот вывод консоли или отладки после выполнения вышеуказанного образца кода с образцом файла Excel.
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