How to export Google Calendar™ events to Google Sheets™

Whether you bill clients by the hour, report on team time, or just want your schedule as data, getting calendar events into a spreadsheet is one of the most common Google Workspace tasks — and Google provides no built-in button for it. Here are the three ways to do it, from most manual to most automatic.

Option 1 — Manual ICS export

  1. In Google Calendar™, open Settings → Import & export → Export. This downloads a ZIP of .ics files.
  2. Convert the .ics file to CSV with a converter tool, then open the CSV in Google Sheets™.

Works for a one-off snapshot, but the ICS format mangles recurring events, the conversion loses fields like guests and colours, and the export is stale the moment an event changes.

Option 2 — Write an Apps Script

Developers can call CalendarApp.getEvents() in Google Apps Script and write rows into a sheet. It is flexible, but you maintain the code, handle time zones and pagination yourself, and scripts time out at six minutes — large calendars simply fail mid-run.

Option 3 — A sync add-on (one click, stays up to date)

  1. Install a calendar-to-sheet sync add-on from the Google Workspace Marketplace.
  2. Open a Google Sheet, choose your date range and calendar, and click Sync.
  3. Optionally set an hourly or daily schedule so the sheet stays current on its own.

Every event arrives as a clean structured row — title, start, end, all-day flag, location, description, guests and status — ready for pivot tables, billing formulas or reports. Re-syncs update rows in place instead of duplicating them.

CalWeave does all of the above in one click, both directions, with a delete safety cap so your calendar can never be wiped. Free 14-day trial, no card required.
Install CalWeave from the Google Workspace Marketplace