XLSおよびXLSBファイルの外部接続の読み取りと書き込み
可能な使用シナリオ
Aspose.Cells for Python via .NET は、XLSX ファイルの外部接続の読み書きを既にサポートしていますが、現在はこれを XLSB および XLS ファイルにも対応しています。ただし、コードはすべてのフォーマットタイプで同じです。
XLS/XLSBファイルの外部接続の読み取りと書き込み
以下のサンプルコードでは、サンプルのXLSBファイル(XLSもロードできます)をロードし、実際にはMicrosoft Access DB接続である最初の外部接続を取得します。その後、DBConnection.name プロパティを変更し、出力されたXLS/XLSBファイルとして保存します。スクリーンショットは、コードの サンプルXLSBファイル および 出力XLSBファイル への影響を示しています。以下に示すサンプルコードのコンソール出力も参照してください。
サンプルコード
このコードは、適切な拡張子のファイルを読み込んで保存することにより、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