读取和写入XLS和XLSB文件的外部连接

可能的使用场景

Aspose.Cells for Python via .NET已支持读取和写入XLSX文件的外部连接,但现在也支持XLSB和XLS文件的此功能。不过,所有格式的代码相同。

读取和写入XLS/XLSB文件的外部连接

以下示例代码加载了示例XLSB文件(XLS也可以被加载),并读取其第一个外部连接,这实际上是一个Microsoft Access DB连接。然后修改了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