Externe Verbindung von XLS und XLSB Dateien lesen und schreiben

Mögliche Verwendungsszenarien

Aspose.Cell für Python via .NET unterstützt bereits das Lesen und Schreiben externer Verbindungen in XLSX-Dateien, jetzt unterstützt es diese Funktion auch für XLSB- und XLS-Dateien. Der Code ist jedoch für alle Formate gleich.

Externe Verbindung von XLS/XLSB-Dateien lesen und schreiben

Der folgende Beispielcode lädt die Beispiel-XLSB-Datei (XLS kann ebenfalls geladen werden) und liest ihre erste externe Verbindung, die tatsächlich eine Microsoft Access DB-Verbindung ist. Dann wird die DBConnection.name-Eigenschaft geändert und die Datei als Ausgabe-XLS/XLSB-Datei gespeichert. Der Screenshot zeigt die Auswirkungen des Codes auf die Beispiel-XLSB-Datei und die Ausgabe-XLSB-Datei nach ihrer Ausführung. Bitte beachten Sie auch die Konsolenausgabe des Beispielcodes unten als Referenz.

todo:image_alt_text

Beispielcode

Der folgende Code funktioniert sowohl für XLSB- als auch für XLS-Dateien, indem die Dateien mit der entsprechenden Erweiterung geladen und gespeichert werden.

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")

Konsolenausgabe

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