读写XLSB或XLS文件的外部连接
Contents
[
Hide
]
可能的使用场景
Aspose.Cells已经支持XLSX文件的读写外部连接,现在XLSB和XLS文件也支持此功能。但是,两种格式的代码相同。
读写XLSB/XLS文件的外部连接
下面的示例代码加载示例XLSB(也可以加载XLS)文件并读取它的第一个External Connection,实际上是一个Microsoft Access DB Connection。然后它修改了数据库连接名称属性并将其保存为输出 XLSB 文件。截图展示了代码的效果样本 XLSB 文件和输出 XLSB 文件执行后。另请参阅下面给出的示例代码的控制台输出以供参考。
示例代码
通过加载和保存具有适当扩展名的文件,以下代码适用于 XLSB 和 XLS。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Load the source Excel Xlsb file | |
Workbook wb = new Workbook("sampleExternalConnection_XLSB.xlsb"); | |
//Read the first external connection which is actually a DB-Connection | |
DBConnection dbCon = (DBConnection)wb.getDataConnections().get(0); | |
//Print the Name, Command and Connection Info of the DB-Connection | |
System.out.println("Connection Name: " + dbCon.getName()); | |
System.out.println("Command: " + dbCon.getCommand()); | |
System.out.println("Connection Info: " + dbCon.getConnectionInfo()); | |
//Modify the Connection Name | |
dbCon.setName("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