KeyValue is a cross-platform library for making C++ objects accessible through LibreOffice Calc, Excel, and other front-ends. This can enhance the experience of spreadsheet users by providing an object model and a handy key-value based interface. Actually, KeyValue does more than just help creating spreadsheet functions. The object model allows end-users to build C++ objects through the front-ends. These objects are stored in a repository for later use at the user's request. Additionally, KeyValue provides a set of services to effectively use these objects. The library is named after one of its main features: the key-value based interface. Parameters are passed to functions (or, more precisely, processors) through key-value pairs, in contrast to the standard positional interfaces of LibreOffice Calc, Excel, C/C++, etc.