ConnectionString property for an Excel Connection Manager is not where I go to manipulate the current file, which is contrast to an ordinary Flat File Connection Manager.
Instead, put an expression on the Excel Connection Manager’s
In theory, there should be no difference between ConnectionString and ExcelFilePath except that you will have more “stuff” to build out to get the connection string just right.
Also, be sure you’re executing the package in 32 bit mode.
An alternative that you might be running into is that the design-time value for the Connection String isn’t valid once it’s running. When the package begins, it verifies that all of the expected resources are available and if they aren’t, it fails fast rather than dieing mid load. You can delay this validation until such time as SSIS has to actually access the resource and you do this by setting the
DelayValidation property to True. This property exists on everything in SSIS but I would start with setting it on the Excel Connection Manager first. If that still throws the Package Validation Error, try setting the Data Flow’s delay validation to true as well.