Perpetual Calendar with Event List

Tags: Calc Templates

last edited: 2022-11-08


An automated ODF (OTS) spreadsheet offering considerable flexibility in generating monthly and yearly Gregorian calendars with the option to have events automatically be entered on their date of occurrence.

Screenshot from 2020 06 02 16 03 48
Screenshot from 2020 06 02 16 04 47
Screenshot from 2020 06 02 16 05 08


This Perpetual Calendar template is an automated ODF (OTS) spreadsheet that offers the user:

  • nuanced style control for appearance,
  • variability of first-day-of-week,
  • variability of starting and ending months,
  • monthly calendars,
  • landscape yearly calendars, 
  • portrait yearly calendars.

The project also allows the user to insert, copy to, or create a sheet of events that will then automatically populate any of the calendar forms. Event dates and event details are selected from their source sheet by column number, giving the user a wide range of possibilities for importing or creating date/event tables.


[Please note: All event data must be imported as pure text. Dates must be represented as text. Please use the Paste Special Import Dialog and uncheck Detect Special Numbers to make certain data are purely text and not formatted data objects. (Thanks Arlyn N for noting this).]


The project demonstrates the use of long-form cell formula entries, presents an alternative to messy sheet-scoped named ranges, and highlights the abilities of the TextJoin function.



Release List

Release: Version 2.0 – Converted to use Named Expressions and a single macro User Defined Function

Compatibility: 5.2
Operating Systems: Linux, Windows, macOS
License: LGPL
Release Notes:

This version repairs problems formatting days with multiple events. It also solves the insanity of the previous function sizes. However, it is slower and does require macro permission because of a single User Defined Function (which can easily be checked as benign).

Release: Version 1.0

Compatibility: 5.2
Operating Systems: Linux
License: GPL
Release Notes:

Developed and tested using LibreOffice Calc on Linux Mint 19.3. Requires LO 5.2 at minimum for TextJoin function. May work with MS Excel versions with TextJoin (365 or 2019) if saved to xlsx format, but would require touch-up of styles since Excel does not understand style inheritance.

Other Extensions

Perpetual Calendar with Event List

An automated ODF (OTS) spreadsheet offering considerable flexibility in generating monthly and yearly Gregorian calendars with the option to have events automatically be entered on their date of occurrence.




Post your review

You cannot post reviews until you have logged in. Login.


  • Robert Worth 16.01.2022, 17:55 (vor 17 Monate)

    I love the thought of this but I can't get it to work. Whenever I don't have an event sheet I get #ref errors, but as soon as I make an event sheet nothing seems to work. Using recent LibreOffice. If anyone could help me I would appreciate it.

  • LPaquet 08.12.2020, 21:03 (vor 2 Jahre)

    Will not load w/Extension Manager.
    ( { { { Message = "Cannot detect media-type: file:///C:/Users/Moi/Documents/OpenOffice/Calc/Templates/Perpetual-Calendar-with-Event-List-ODF.ots", Context = ( @2646f5322c0 } }, ArgumentPosition = (short) -1 }

    • Joshua Coppersmith 08.07.2022, 23:26 (vor 11 Monate)

      It can be confusing because this is on the Extensions website, but technically this is a template, not an extension. Simply download and open with LibreOffice. No need to use Extension Manager.

  • Arlyn N 02.10.2020, 23:42 (vor 3 Jahre)

    I should have made this comment: Please note that if you want to copy/paste dates into this, you will need to convert the dates to text using Data>Text to Columns. Details here:

    • Joshua Coppersmith 05.08.2021, 02:36 (vor 22 Monate)

      Yes, thank you Arlyn N. Alternatively, when pasting data into the event list worksheet use Paste Special>Paste Special...(both levels have same name)>Use import dialog. When the dialog appears use it to view/marshal your data and be sure to uncheck the Detect Special Numbers checkbox before importing.

      • Heiko Tietze 10.07.2022, 12:03 (vor 11 Monate)

        Tagged it as template now so it will be available as such within the application.

  • Arlyn N 02.10.2020, 05:04 (vor 3 Jahre)

    Unbelievable....I've messed around with these kinds of calendars for many hours, attempting among other things to get multiple events on one day. I'm reasonably experienced, but this is way beyond what I've even attempted. This is brilliant work!

  • JIM B. 23.08.2020, 06:18 (vor 3 Jahre)

    This is an incredible piece of art. Difficult logic simplified for me, the common man. Adaptability is amazing. Using it for my budget, my business, and my shopping list. The ease of modifying the extension sends countless ideas through my brain. Bravo!

RSS feed for reviews on this page | RSS feed for all reviews