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