How to open Excel-workbooks without the message The workbook contains links to other data sources. programmatically?

前端 未结 2 1973
死守一世寂寞
死守一世寂寞 2021-01-28 19:28

I want to open 1 or more Excel-workbooks programmatically. And when I open the workbook, you get a question: The workbook contains links to other data sources.

相关标签:
2条回答
  • 2021-01-28 20:06

    try placing in the workbook Open event handler:

    Application.AskToUpdateLinks = False
    
    0 讨论(0)
  • 2021-01-28 20:19

    I don't think you can get around the dialogs with the excel interop libraries (the warnings are there for a reason). The way I've always done this in the past is to treat the Excel file like it's a database, and use the following:

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

    Then you can use the following to get information about the sheets:

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

    Then use the debugger to understand what is behind the lookupSheets variable and start writing queries like you would with any other database.

    Note: You cannot use the richer elements of the interop libraries like formatting

    0 讨论(0)
提交回复
热议问题