Excel催化剂开源第47波-Excel与PowerBIDeskTop互通互联之第一篇(12)

private void btnEnter_Click(object sender, EventArgs e)

{

DataGridViewRow row = this.dataGridView1.SelectedRows[0];

Entity.PbidFileInfo pbidFileInfo = Common.GetPbidFileInfo(row);

Excel.WorkbookConnection wkbcnn;

if (Common.ExcelApp.ActiveWorkbook.Connections.Cast().Any(s=>s.Name==pbidFileInfo.FileName))

{

Common.ExcelApp.ActiveWorkbook.Connections[pbidFileInfo.FileName].Delete();

}

string wkbCnnString = $"OLEDB;Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=True;Data Source=localhost:{pbidFileInfo.Port};Initial Catalog={pbidFileInfo.DbName};";

Common.ExcelApp.ActiveWorkbook.Connections.Add(pbidFileInfo.FileName, "pbidConnection", wkbCnnString, pbidFileInfo.ModelName, 1);

推荐阅读