ICS File

Home Design Build Race Data Analysis Other Topics


My racing calendar for next year contains around 150 events.  I thought it would be easier to have ICS files for most of these events so I could upload them to my diary rather than type them all in.  There are a number of web sites that say they can do this for you, just enter your event details.  Two problems!  The first was that some of the sites assume your dates are in USA format, MM/DD/YY, and that gave, ah, surprising results in my diary.  The second was that some sites cheerfully accepted my data (enter your data for free, they said), and then forwarded me to a page where I could pay to download the ICS file.  Hmmmm.

So I constructed an Excel spreadsheet for the task, ICS file contents creator V4 for web.xlsx

My suggestion is to play with the spreadsheet by constructing an ICS calendar file with just one event and see how that looks when uploaded into your diary.  Delete the event and try another parameter setting until you are happy.  Only then construct the calendars you want.  I eventually constructed and uploaded 7 calendars for 2026 to suit my requirements -- 6M at home with the Broads RYC, 6M at home with the Norwich MYC, 6M Open away, similar three for the IOM, and one for the 36" Open away.

These are the instructions as found in the first page of the workbook.

Constructing an ICS Calendar file from a list of events in Excel.
Overview:  Set the parameters.  List the event dates (and their names and venues if desired).  Copy the ICS code lines into a Word file.  Save the file as *.TXT and then rename it to *.ICS.  Open the ICS file in the diary application.
PRELIMINARIES
It is assumed that there is already a club calendar, probably in Excel, maybe in Word.  In order to use it in this Workbook, the calendar data needs to be arranged so each event is in its own row with its date at the least.
The date must be in the format DD/MM/YYYY.  The event may also have a name and a venue, which can be any text as may be required.
For the diary in Style 1, the event's name and venue are the second and third cells in its row.  For Style 2, just its name.  For Style 3, no further data is needed.  (See Style descriptions below.)
SET PARAMETERS in the Events List sheet
ONLY enter parameters into the yellow (and pink) cells.  Other cells contain formulae or reserved codes and must remain intact.
Set the notional year for the calendar, "2026" here, and the start and end times of events, "10:00" and "12:30" here.
  NB  At data entry it is essential that the times use the 24-hour clock in the specific format "HH:MM" -- that is, there MUST be a colon ":" separating hours from minutes.
  If events have different start and end times, apologies but this Workbook doesn't do that.  The ICS file can be edited later in Word or Notepad or similar to change the times, see below.
Set the club acronym (or single word;  that is, no spaces), "BRYC" here, and the default venue, "Filby" here.
Set the boat class, "6M" here (acronym or single word).  It is used as described below.  If there is no particular class for the calendar, provide some text instead, such as "Boat" or "Sailing" or "All".
Set the Style for the resulting diary entries, 1, 2, or 3.  (See below.)
The ICS date stamp, DTSTAMP, is the nominal "as of" date of the diary entries, set to 1/1/2025 here.  The VERSION and PRODID are also ICS nominal values.  No need to change any of these.
Note, however, that the UID is not a nominal value if there are or will be multiple calendars.  For each distinct calendar created using this Workbook, the UID must be a unique value.
  The Workbook assumes that there is a separate club calendar for each of the club's Classes, such that members would use one or more ICS calendar files, one each for the class(es) that interest them.
  In addition, a member might belong to more than one club and might wish to load more than one Class ICS file, one from each club.  For this reason the Club acronym is encoded into the UID.
  The Workbook suggests a UID of "YYClubClass".  YY is taken from the notional year, "26" here;  Club is the acronym, "BRYC" here;  and Class is "6M" here.  Change the UID to any other value if required, but NO spaces!
  Each event is given a serial number, starting from pink cell "0" here, then incrementing by 1, which is appended to the UID to make a unique reference number in the calendar for each event.
     Change the pink cell "0" to an approriate serial number if there is ever a further ICS file of events to complement a previous "YYClubClass" ICS calendar.
     If UID or pink cell is not changed to a new (unique) value, the further file is unlikely to be processed by the diary or calendar app.
An example event date is shown boxed, along with its resulting ICS event code line in dark green.  It may be helpful to play with the parameters and Styles to see their effects before proceeding.
  Note how the contents of the ICS event code line seem packed together.  This is deceptive.
  Each ICS code element is in fact separated by a CHAR(10) or <LF> in old  money.  The required <CR> appears when the cells are pasted into a Word document (NOT Notepad or other text editor).
ENTER EVENT DATA in the Events List sheet
The event data from the donor sheet is entered row by row, starting below the row of the boxed example event date and its example cells.
Style 1 -- Copy and Paste Values of the dates, names, and venues of the event rows from the donor sheet to the Events List sheet.  This Style is useful if there are a variety of venues and if the detail of the event names is desired.
  Note that the Paste Value overwrites the Workbook formulas in the name and venue columns.
Style 2 -- Copy and Paste Values of the dates and names of the event rows from the donor sheet to the Events List sheet.  The Workbook will set the venue to the Default Venue.  This Style useful if the detail of the event names is desired.
    Note that the Paste Values overwrites the Workbook formula in the name column.
    If there is no parameter for Default Venue (it is blank), the venue will display as ".", no LOCATION will be set in the ICS event code line, and no hence venue will appear in the diary.
    However, after data entry, specific text can be entered to overwrite the "." of an event's venue, eg "Norwich".  The Workbook will then set LOCATION to the specific text, "Norwich".
Style 3 -- Copy and Paste Values of the dates of the event rows from the donor sheet to the Events List sheet.  The Workbook will set the name to "Class + Default Venue", such as "6M Filby".  Useful for short generic event names in the diary.
    If there is no Default Venue, the event name will be simply "Class", eg "6M".  No LOCATION will be set in the ICS event code line, and hence no venue will appear in the diary.
    However, after data entry, specific text can be entered to overwrite the venue ".", eg "Norwich".  The Workbook will then set name to "Class + specific text", eg "6M Norwich", and set LOCATION to the specific text, eg "Norwich".
Then copy the relevant light green remaining cells (formulas) from the example row (columns E onwards for Style 1, columns D onwards for Style 2, columns C onwards for Style 3) and paste them into all the rows which have events.
  NB  Paste using "ordinary" Paste, not any of the varieties of "Paste Special…", so that the formulas are correctly copied.
COPY TO WORD the ICS code lines from the Events List sheet
Open a blank Word document, and into it:  (1) copy and paste the light blue ICS Calendar start code line.  Note how the ICS elements transform into separate lines in the Word document.
  NB  Paste into the Word document using "ordinary" Paste, not any of the varieties of "Paste Special…", so that the hidden control characters transfer correctly.
Then:  (2) copy and paste the dark green ICS event code lines.  Exclude the example event.  Note again how the ICS event code line elements transform into separate lines in the Word document.
Finally:  (3) copy and paste the dark blue ICS Calendar end code line.
Save As a Plain Text (.TXT) file.  Chose the Windows (Default) TXT file format.  Ignore the "preview" offered.   Close Word.
RENAME TO ICS
In File Explorer or similar, rename the file extension from .TXT to .ICS.  Ignore the warning about changing file extensions. 
The ICS file can now be edited by Notepad or similar, if desired.  For example, find "DTEND:20260401T123000" and change it to "DTEND:20260401T160000" to end at 16:00.

 

 


©2025 Lester Gilbert