Keep one event per spreadsheet row, save a CSV, then convert it into an ICS file. CalPorter lets you map your columns and review the resulting dates before downloading. It reads CSV files and pasted delimited text; it does not read Excel workbooks or extract a PDF.

Download the working CSV template or open the converter.

1. Prepare the rows

Use the headers Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description and Location. Use YYYY-MM-DD dates to avoid ambiguity. Enter times as 09:00 or 9:00 AM. Timed events need a start and end time; an overnight shift must end on the following date.

Subject,Start Date,Start Time,End Date,End Time,All Day Event
Workshop,2026-11-02,09:00,2026-11-02,10:30,False
Day off,2026-11-03,,2026-11-03,,True

In this CSV format, all-day end dates are inclusive. The converter changes them to the exclusive end date required by ICS. The one-day “Day off” row therefore ends on November 4 in the downloaded calendar.

2. Export or paste

In Excel, save a copy as CSV UTF-8. In Google Sheets, download the current sheet as comma-separated values. Open that .csv file in the converter, or paste the exported text. Keep the original workbook as your editable source.

3. Review column mapping and date order

Select Map columns and check that the title, start date and time columns correspond to your sheet. Choose YYYY-MM-DD, MM/DD/YYYY or DD/MM/YYYY explicitly. A date such as 03/04/2026 has two possible interpretations; CalPorter will not choose for you.

4. Check the agenda

Build the calendar and examine the first event, the last event, overnight shifts and all-day dates. Open an event to inspect its exact start, end and time-zone fields. Use the data table when comparing with your spreadsheet. Each row becomes a separate event; the CSV converter does not build repeating series.

5. Import a test copy

The generated times are floating local times, with no named time zone. Check your destination calendar’s time zone and import into a separate test calendar first. This workflow is intended for schedules in one local time zone; it is not a converter for meetings across multiple zones. Every new conversion generates new event IDs, so repeatedly importing new exports can create duplicates.

Google Calendar can also import supported CSV directly. ICS is useful when you need a calendar file for another app or want to inspect the generated file first. Sources: Google Calendar import formats, Apple Calendar imports, and iCalendar date-time rules.