How can I make Excel fetch data from a database automatically when I open the spreadsheet?
Of course. Here are the basics.
1) Create a connection (once)
- Excel-Data-From Other Sources-SQL Server (this is for Microsoft SQL, but other data sources are available)
- Enter Server credentials, uncheck "Connect to a specific table" if you wish to use various tables or SQL queries later on.
- Finish. It brings you automatically to the step below, but you don't have to repeat that part.
2) Add connection to workbook
- Excel-Data-Existing Connections
- Pick connection you just saved
- Pick a table. If you wish to use a query, pick any table, then on the next screen (Import Data), click Properties, Definition tab, change Command type from Table to SQL and paste your query below.
- Import as Table
3) List and modify connections at anytime
- Excel-Data-Connections
- You can refresh, delete and also access Properties for example to modify the SQL queries without adding a new connection.
- Here in properties you can also set options to refresh automatically and at startup.