Export Calendars Pro
Export Calendars Pro
For Mac

Export Apple Mac iCal/iCloud/Google calendars to Excel and CSV

GET
1.14 (2024-03-22)
·
macOS 10.13 or newer
·
  4.8
Table Of Contents
 

Export Calendars Pro Online Help

This document refers to app version 1.14 (2024-03-22).

Introduction

With Export Calendars Pro you can export events and reminders stored in your Mac’s Calendar app into various tabular data files like Excel, CSV or tab-delimited text. Additionaly, you can also export your data directly to the clipboard, either as plain text or as rich text. You’re able to configure the export format individually and save the settings in templates for later use.

Select which calendar items to export, select individual fields from those events, reminders and contacts and how to order them.

The Export Calendars Pro window has two views to work with: the Fetch Events view and the Export view. In the Fetch Events view, you define which events to export. In the Export view, you specify the file format and its settings, the export layout and the sorting options.

Select events to export

In the Fetch Events view, you specify the date range and the calendars you want to export. When changing a search option, the list of fetched events will update immediately. Depending on the calendar type and number of events, this may take a few seconds.

Note: If an event has two or more participants, the generated data file will contain a row for every participant for the same event, but only if your export file layout contains a participant-related field.

Setting the time zone

Beginning with version 1.5, the app allows you to search and export events in the context of a time zone independently from the default time zone that you have specified in System Preferences. For quick access, chosen time zones are remembered as presets.

Setting the date range

To set the date range, you can select one of the presets from the “Events” menu or click on the “Date Range” button to enter a custom date range. Use the “Back” and “Forward” segments of the “Date Range” button to navigate through time, in context with the selected preset.

Selecting calendars

Only calendar items from checked calendars will be exported. With a right-click in the calendar list you can bring up the contextual menu to select or unselect all calendars at once.

Filtering the results

Search Filters

With search filters, search criteria can be saved for quick access. A search filter remembers all search criteria except for the selected date range. Instead, the selected default such as week, month or year is saved and applied when the search filter is applied.

Time Zones

Calendar events are filtered, displayed and exported in the context of the selected time zone. This is useful if you want to share calendar data different from your default time zone. See also the notes under “Dates and time zones” in the “Layout” section.

Filter events by search term

Use the search box to filter calendar items by one or more terms. Click the magnifying glass icon in the search box to change the search mode. Available search modes are “Match all (AND)”, “Match any (OR)” and “Match none (EXCL)”. The search is carried out in the event’s title, in the event’s location, in the event’s notes, and in the names of the participants.

Including all-day events

When enabled, the search results will include all-day events. When disabled, only events with a specified time will be shown. It is also possible to set that midnight-to-midnight events that have not been explicitly marked as all-day should be treated as such. A tolerance of up to 60 minutes can be set for the start and end time, so that, for example, an event from 0:10 AM to 11:55 PM is also considered to be an all-day event.

Only items with participants

When enabled, only events with at least one participant will be listed in the search results.

Only uncompleted events

When enabled, completed reminders are omitted from the search result. This option has no effect on events.

Including undated reminders

When enabled, reminders without a start date will be listed in the search result. This option has no effect on events.

Setup the Export Format

Export Calendars Pro allows you to create as many export templates as you want for all your needs. Each template can have its own export settings. You can define which fields to export, how to name and order the corresponding columns in the data file, how to sort the exported data and which file format to use. Any changes made to any option is stored immediately to disk.

Managing Export Templates

Use the toolbar items below the “Templates” list box to create, remove, duplicate, rename, import or export templates. The Default Template is a special template that cannot be removed or renamed. Its settings can be edited but will be restored to factory defaults on every app launch.

Managing a Template’s Export Options

Layout

This is where you define which calendar item or contact field should go into the data file and how they should be ordered. Use the toolbar items below the list to add or remove rows. Note that you can also cut, copy, paste and duplicate items in the list by selecting the appropriate commands from the “Edit” menu. To specify the column order in the resulting data file, click on a “Column Title” cell and drag the column to its new position. To override the default column title, double-click on it. Custom column titles are displayed in bold and will not change when you edit the field type, label or format. To apply the default title, delete the “Column Title” cell’s content.

You can export a field multiple times, for example, if you want to export a value in different formats or extract different data from the field content.

Extracting data

For fields that contain text, such as title, location and notes, you can extract and export text segments via the format menu. The app recognizes parts of postal addresses as well as phone numbers, email addresses and URLs. In addition, field contents can be split and output as follows:

Segment: Takes the entire field content, splits it into segments using the specified separator and exports the specified segment. Example: If the event title is “Project: website”, the separator is “:” and the segment to be exported is “2”, then the value “Website” is exported.

Labeled value: Checks each line of the field content to see if it starts with the specified label and exports the rest of the line. Example: If the event notes contain the line “Hourly rate: 60” and the label is “Hourly rate:”, the value “60” is exported.

Calculate total duration

If the “Calculate total duration” option is activated, a row is added to each export that outputs the cumulative total duration for each field of type “Duration” and “Travel Time”. The calculation is done for each field in the context of the format selected for each field.
Note: If the export template contains a field of type Participant URL, Participant Role, Participant Name, Participant Status or Participant Type, the export of an event that has multiple participants will be split to multiple rows accordingly. The duration will be output for the first row only. Use the export field Participant List instead of one of the mentioned fields if you do not want to split the event.

Dates and time zones

Apple’s Calendar app allows you to tie a time zone to an event. If available and if not changed explicitely in the Format menu of a date to export, this time zone will be used when exporting dates. Otherwise, the time zone as specified in the “Fetch Events” view will be used. On OS X 10.11 or later, the app supports the end time zone property. At the moment, this property can only be set on iOS, the Mac Calendar app does not allow you to set a time zone for the end date of an event. Because this property is synced through iCloud, Export Calendars Pro can access it.

Sort Order

Export Calendars Pro allows you to sort the exported data independently from the column order as specified in the “Layout” section. Here you can specify how the exported data will be sorted in the data file. To change the order of a field in the sort order, drag the field’s row up or down. To customize the sort direction of a field, choose “Ascending” or “Descending” from the row’s “Sort Order” menu. Use the “Reset Sort Order” command from the cogwheel button below the table to set the sort order to the current column order as specified in the “Layout” section.

Export Format

Export Calendars Pro supports several formats for the export.

Excel Workbook (.xlsx)

This setting will create a native Excel file that can be opened with every application that supports Office Open XML Excel files, such Apple Numbers, FileMaker and of course any recent version of Excel (Mac/PC).

Note: When exporting dates, only the “Excel DateTime”, “Excel Date” and “Excel Time” formats will be exported as a date-formatted cell. All other formats are exported as text.

CSV, tab-delimited text

This setting allows you to create a CSV or tab-delimited text file.

Note: The default CSV export settings are only suggestions. Please note that an “incorrect” text encoding or line endings may cause trouble if the target application cannot handle the settings. If an exported file contains invalid characters, make sure you have selected the correct settings for the target application. If you’re unsure, consult the target application’s help files.

Clipboard

This setting allows you to export your data straight to the clipboard. You can choose between plain text format (tab-delimited) or rich text format. For rich text, two different Apple Clipboard formats are provided that most applications do support.

Automation

Export via shortcut

As of macOS 13 Ventura, you can perform a calendar export fully automatically via Apple’s Shortcuts app. Export Calendars Pro provides the shortcut “Export Events & Reminders”, which lets you select a search filter previously created in the app and a corresponding export template. You give the date range to be exported as input to the shortcut. The shortcut returns the created export file as a file object. The export file format as well as the fields to be exported including their format are defined in advance in the export template to be used.

If the search filter or export template no longer exists, the currently active search settings or the built-in default export template will be used.

Download Example Shortcut


Event and Reminder Properties Reference

All-Day

Returns TRUE if this is an all-day event, FALSE otherwise.

Availability

Indicates how the event should be treated for scheduling purposes. Can be “Busy”, “Free”, “Tentative” or “Unavailable”.

Calendar Color

The base color of the calendar as a six-digit, three-byte hexadecimal number as used in HTML, CSS, SVG – for example, “#FF9900”.

Calendar Identifier

A unique identifier for the calendar.

Calendar Name

The title of the calendar.

Calendar Source

The account to which this calendar belongs.

Calendar Source Type

The source type representing the account to which the calendar belongs. Can be “Local”, “CalDAV”, “Exchange”, “Subscription”, “Birthday” or “MobileMe”.

Calendar Type

The calendar’s type. Can be “Local”, “CalDAV”, “Exchange”, “Subscription” or “Birthday”.

Completed (Reminder)

Returns TRUE if this is a completed reminder, FALSE if this is an uncompleted reminder or an empty string, if the calendar item is an event.

Completion Date/Time (Reminder)

The date on which the reminder was completed.

Detached

This value is TRUE if and only if the event is part of a repeating event and one or more of its attributes have been modified from the repeating event’s default attributes. Returns FALSE otherwise.

Due Date/Time (Reminder)

The date by which the reminder should be completed.

Duration

The duration, calculated from the difference between the end date and the start date.

End Date/Time

The end date of the event as a date. For reminders, this value is calculated. If there is no end date, the completion date is returned. If there is no completion date, the due date is returned.

End Time Zone

The end time zone for the calendar item. If empty, the start time zone is returned. If the start time zone is empty, the calendar item is a floating event. A floating event is not tied to a particular time zone. It occurs at a given time regardless of the time zone — for example, “lunch at noon.”. Available in OS X 10.11 or newer.

Event Creation

The date that this calendar item was created.

Event Identifier

A unique identifier for the event or reminder.

Event Identifier (external)

The calendar item’s external identifier as provided by the calendar server. This identifier is shared across multiple devices.

Event Modification

The date that the calendar item was last modified.

Event Notes

The notes associated with the calendar item. Notes can be exported “as-is”, or certain data types can be extracted from it, such as address data, phone numbers, and email addresses. This field can also be split into segments using a customizable separator. Each segment can then be exported to a separate column. The data to extract can be specified in the “Format” menu.

Event Status

The status of the event. Can be “None”, “Confirmed”, “Tentative”, “Canceled” or “Unknown”.

Event Title

The title for the calendar item. This field can also be splitted into segments using a customizable separator. Each segment can then be exported to a separate column. The data to extract can be specified in the “Format” menu.

Location

The location associated with the calendar item.

Occurrence Date/Time

The original occurrence date of an event if it is part of a recurring series.

Participant Name

The participant’s name.

Participant Role

The participant’s role in the event. Can be “Unknown”, “Required”, “Optional”, “Chair” or “None”.

Participant Status

Represents a participant’s attendance status for an event. Can be “Unknown”, “Pending”, “Accepted”, “Declined”, “Tentative”, “Delegated”, “Completed” or “In Process”.

Participant Type

Represent’s a participant’s type. Can be “Unknown”, “Person”, “Room”, “Resource” or “Group”.

Participant URL

The URL representing this participant.

Participants List

A comma-separated list of all participants. Can be filtered by status, role and type.

Priority

A reminder’s priority as a string. Can be “Low”, “Medium” or “High”.

Priority (numerical)

A reminder’s priority as a numerical value. Can be 1 (low), 2 (medium) or 3 (high).

Recurrence Rules

The recurrence rules for the calendar item in a human readable format – for example, “Every month on the 1st Sunday, ends on 03/03/2019”.

Start Date/Time

The start date of the event as a date. For reminders, this value is calculated. If there is no start date, the due date is returned. If there is no due date, the completion date is returned.

Start Time Zone

The start time zone for the calendar item. If empty, the calendar item is a floating event. A floating event is not tied to a particular time zone. It occurs at a given time regardless of the time zone — for example, “lunch at noon.”. In OS X 10.10 or earlier versions, this property is titled “Time Zone” and is also valid for the end date of an event because these versions of OS X do not support end time zones.

Subscribed

Returns TRUE if the event’s calendar is a subscribed calendar, FALSE otherwise.

Travel Time

Returns the travel time of an event. Available in OS X 10.10 or newer.

URL

The URL associated with the calendar item.