如何在没有消息的情况下打开Excel工作簿工作簿包含指向其他数据源的链接。编程?

时间:2014-12-22 16:52:41

标签: c# excel office-interop

我想以编程方式打开一个或多个Excel工作簿。当我打开工作簿时,你会得到一个问题:工作簿包含指向其他数据源的链接。我不想要按" 不要更新"

你怎么能留下这个留言箱?因此功能不会再中断。不需要更新。

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试放入工作簿中打开事件处理程序:

Application.AskToUpdateLinks = False

答案 1 :(得分:1)

我认为你无法绕过excel互操作库的对话框(警告是有原因的)。我过去总是这样做的方式是将Excel文件视为数据库,并使用以下内容:

OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\"");

然后您可以使用以下内容获取有关表格的信息:

DataTable lookupSheets = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

然后使用调试器来了解lookupSheets变量背后的内容并开始编写查询,就像使用任何其他数据库一样。

注意:您无法使用互操作库中更丰富的元素,如格式