How to connect BigQuery to Excel: four ways that work
Excel has no built-in BigQuery connector, so there are four working routes: save query results as a CSV, connect a workbook to BigQuery through an ODBC driver and Power Query, pull a published Data Mart into a workbook with the OWOX Data Marts add-in for Excel, or keep a refreshed Google Sheet and download it. This guide walks through each, says how refresh works, and covers the reverse direction, Excel to BigQuery.

Excel has no built-in BigQuery connector. Microsoft’s own list of products for the Power Query Google BigQuery connector names Power BI, Fabric and Power Apps, and not Excel (Microsoft Learn, page dated September 2026). So getting BigQuery data into a workbook comes down to four routes:
| Way | Refreshes | Needs | Fits |
|---|---|---|---|
| Save results as CSV and open the file | no | nothing | a one-off look |
| ODBC driver + Power Query in Excel | on demand, or on a timer while the file is open | a driver installed on each computer | an analyst’s own workbook, on Windows |
| The OWOX Data Marts add-in for Excel | on demand, from a button in the workbook | the add-in from the Office store, and an OWOX account | business users who need approved data, on Windows, Mac or the web |
| A scheduled Google Sheet, downloaded as .xlsx | the sheet does; the download is a copy | a Google account | a report many people read |
Note: Originally published in August 2023. Fully rewritten in October 2026 against Google’s and Microsoft’s current documentation. The older IQY-file method is gone: it relied on a Google connector that no longer exists. Updated on 8 October 2026 with the OWOX Data Marts add-in for Excel.
Way 1: save query results as a CSV
Way 1: save query results as a CSV
- In the BigQuery console, run your query.
- Click Save results and choose CSV (local file).
- Open the file in Excel.
That is Google’s export query results flow. Two things to know:
- Nested and repeated columns do not export to a local file. Flatten them in the query first; the array functions guide shows
UNNEST. - Excel opens at most 1,048,576 rows in a sheet. Aggregate in SQL, not in the workbook.
For large results, Save results can also write to Google Drive or Cloud Storage. Every option is covered in how to export BigQuery data to CSV.
The file is a copy. Next week’s numbers mean running the query and downloading again.
Way 2: ODBC and Power Query
This route gives a workbook its own refreshable query on BigQuery. It needs a driver on every computer and someone who can write the SQL.
Install the driver
Google’s ODBC and JDBC drivers page (read in October 2026) lists an ODBC driver for Windows, Linux and macOS, built by insightsoftware (formerly Simba) and free to download. Google also now offers a driver of its own and suggests considering it. Install the 64-bit version if your Excel is 64-bit.
Create a data source
- In Windows, open ODBC Data Sources (64-bit).
- On the User DSN tab, click Add and pick the BigQuery driver.
- Name the data source.
- Choose how to authenticate: sign in with your Google account, or use a service account key.
- Choose the project that will run and pay for the queries.
- Test the connection and save.
The exact labels depend on the driver version; its install guide has the screens.
Load data in Excel
- In Excel, open Data, then Get Data, From Other Sources, From ODBC.
- Choose the data source you created.
- Either pick a table in the Navigator, or open Advanced options and paste a SQL statement.
- Click Load, or Transform Data to shape it in Power Query first.
Paste SQL. Picking a whole table pulls every row and column, and BigQuery bills on-demand queries by the data they read. A query that selects the columns you need and filters on a date reads a fraction of that. See BigQuery pricing.
Refresh
- By hand: Data, then Refresh All.
- On opening: in the query’s properties, tick Refresh data when opening the file.
- On a timer: in the same dialog, Refresh every N minutes. It works only while the workbook is open on a computer with the driver.
What this route cannot do
Google’s page lists the driver’s limits: no BigQuery load features, no export features, and the usual limits on data-changing statements. It reads query results; it is not a way to push a spreadsheet into BigQuery.
There are practical limits too. Every person who refreshes needs the driver, a data source with the same name, and BigQuery access. And every person’s refresh is its own query on the bill.
OWOX Data Marts
See your first report built in real time. 15 minutes.
- Connect your data warehouse
- Pick your metrics
- Get a live Google Sheets report
In the time it takes to write a ticket. Then imagine never writing that ticket again.
Book a DemoWe'll use your actual use case
Way 3: the OWOX Data Marts add-in for Excel
Way 3: the OWOX Data Marts add-in for Excel
The ODBC route puts SQL and a driver on every analyst’s computer. The add-in removes both. An analyst publishes a query once as a Data Mart in OWOX Data Marts, and anyone with access pulls it into a workbook from a sidebar: no driver, no SQL and no BigQuery account of their own.
The steps are from the Microsoft Excel destination page in OWOX’s documentation, read in October 2026.
Install it
- In Excel, open Home, then Add-ins, then More Add-ins. On older desktop builds it is Insert, then Get Add-ins.
- On the Store tab, search for OWOX Data Marts.
- Select Add, then Continue.
An administrator can also deploy it to everyone from the Microsoft 365 admin center, under Settings, then Integrated apps. That can take up to 24 hours to appear.
Build a report
- On the OWOX Data Marts ribbon tab, select Launch sidebar.
- Select Sign in. The email of your Microsoft account has to match your OWOX profile.
- Select Add report to use the current sheet.
- Pick a published Data Mart, then choose the columns, filters and sort order.
- Select Create & Run.
The rows land in the sheet with the Data Mart’s column names, and the column descriptions arrive as notes on the header cells.
Refresh it
Use Refresh current report or Refresh all reports. A refresh overwrites the imported columns and leaves alone the formulas and columns you added to the right of them.
What to know before you rely on it
- Refresh is manual. There is no scheduled refresh for Excel, and a refresh runs only while the workbook is open.
- One report per worksheet. Copying a sheet copies the values, not the link to the Data Mart.
- Where it runs: Excel on the web, Microsoft 365 on Windows or Mac, and Excel 2019 or later on Mac. The one-time-purchase Excel 2019 and 2021 on Windows are not supported.
- Row limit. A sheet still holds 1,048,576 rows, so narrow a large Data Mart with filters.
The query runs in your own BigQuery project, as the analyst wrote it. OWOX Data Marts does not transform the data.
Way 4: through Google Sheets
When several people need the same numbers, it is easier to keep one refreshed Google Sheet and let Excel users download it than to install a driver on every computer.
- Connected Sheets links a sheet to a BigQuery table or query and refreshes on a schedule.
- A scheduled report from a Data Mart writes the result of one owned query into a sheet. The steps are in how to connect BigQuery to Google Sheets.
In the sheet, File, then Download, then Microsoft Excel (.xlsx) gives a workbook. It is a copy as of the last refresh, so it suits a monthly pack that leaves the building, not a workbook that has to update itself.
The other direction: Excel to BigQuery
The other direction: Excel to BigQuery
BigQuery does not load .xlsx files. Its load formats are Avro, CSV, JSON, ORC and Parquet. Two routes work:
- Save the sheet as CSV and upload it. In the BigQuery console, create a table from an uploaded file, up to 100 MB. Steps and the schema options are in how to upload data to BigQuery.
- Put the file in Google Drive as a Google Sheet and create an external table over it. BigQuery then reads the sheet on every query, which suits a small reference table that people keep editing, such as budgets or a channel mapping.
Before uploading, check the things Excel changes without telling you: dates turned into text, long IDs turned into scientific notation, and leading zeros dropped. Format those columns as text before you save the CSV.
Which way to choose
- One answer, now: the CSV.
- Your own analysis in your own workbook: ODBC with a pasted, filtered query.
- Colleagues who live in Excel and should not need SQL: the OWOX Data Marts add-in, on Data Marts an analyst has published.
- A report that must refresh with nobody at the keyboard: a scheduled Google Sheet, downloaded when Excel is required.
The question underneath is who owns the query. A workbook with its own SQL is one more definition of “revenue” to keep in step with the others. If the same numbers also feed a , publish the query once as a Data Mart and let the sheet, the dashboard and the Excel workbook all start from it. That is what the add-in in Way 3 is for.
Troubleshooting
- “Access Denied … bigquery.jobs.create”. The account can read the data but cannot run queries in the project you chose. Pick a billing project where it has the BigQuery Job User role.
- The driver does not appear in Excel. A 32-bit driver with 64-bit Excel, or the reverse. Install the one that matches.
- A column arrives as text that looks like JSON. It is a nested field. Flatten it in SQL.
- The refresh is slow. The query returns too many rows. Aggregate in BigQuery and load the summary.
Turn your data into decisions.
Governed data marts give you the clean foundation ML needs to actually work.
- No AI hallucinations
- Analyst-governed definitions
- Every number traces to SQL



