Чтение и запись внешнего соединения файлов XLS и XLSB

Возможные сценарии использования

Aspose.Cell для Python via .NET уже поддерживает чтение и запись внешних соединений XLSX файла, теперь он также поддерживает эту функцию для XLSB и XLS. Однако код одинаков для всех типов форматов.

Чтение и запись внешнего соединения файлов XLS/XLSB

Следующий образец кода загружает образец файла XLSB (также можно загружать XLS) и считывает его первое внешнее подключение, которое на самом деле является подключением к базе данных Microsoft Access. Затем он изменяет свойство DBConnection.name и сохраняет его в качестве выходного файла XLS/XLSB. Снимок экрана показывает эффект кода на образцовый файл XLSB и выходной файл XLSB после его выполнения. Также обратите внимание на вывод консоли образца кода ниже для справки.

todo:image_alt_text

Образец кода

Следующий код будет работать как для файлов XLSB, так и для файлов XLS, загружая и сохраняя файлы с соответствующим расширением.

from aspose import pycore
from aspose.cells import Workbook
from aspose.cells.externalconnections import DBConnection
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Load the source Excel Xlsb file
wb = Workbook("sampleExternalConnection_XLSB.xlsb")
connection = wb.data_connections[0]
# Read the first external connection which is actually a DB-Connection
dbCon = pycore.as_of(connection, DBConnection) if pycore.is_assignable(connection, DBConnection) else None
# Print the Name, Command and Connection Info of the DB-Connection
print("Connection Name: " + dbCon.name)
print("Command: " + dbCon.command)
print("Connection Info: " + dbCon.connection_info)
# Modify the Connection Name
dbCon.name = "NewCust"
# Save the Excel Xlsb file
wb.save("outputExternalConnection_XLSB.xlsb")

Вывод в консоль

Connection Name: Cust

Command: Customer

Connection Info: Provider=Microsoft.ACE.OLEDB.12.0;Password="";User ID=Admin;Data Source=C:\TempSha\Cust.accdb;Mode=Share Deny Write;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False