Spreadsheet Controller

From FreeCAD Documentation
Jump to navigation Jump to search
Other languages:
English • ‎français • ‎italiano • ‎polski • ‎română • ‎čeština • ‎русский
This tool has been deprecated in version 0.15 because of the switch to the new C++-based spreadsheet workbench. This functionality will be reintroduced at a later time.

Spreadsheet Controller.png Spreadsheet Controller

Menu location
Spreadsheet → Controller
Default shortcut
Introduced in version
See also


This tool adds a new cell controller object to a selected spreadsheet object. The controller can then extract certain values from certain objects in the active document, and fill a cells range of the host spreadsheet with these values.

How to use

  1. Select an existing spreadsheet object
  2. Press the Spreadsheet Controller.png Spreadsheet Controller button
  3. Adjust the needed properties


  • As soon as the needed properties are set, and objects corresponding to the filter properties are found, the values of the host spreadsheet are filled. There is no way to undo this operation at the moment.
  • The best way to set the properties of a cell controller object is to start from the bottom, setting the filter options first, and finishing with the starting cell. This way, you won't write to the spreadsheet before all the needed settings are set.


  • DataBase Cell: The cell address to start automatic filling (ex: A5)
  • DataDirection: Specifies if the values will fill cells horizontally or vertically from the starting cell
  • DataData: If "Data Type" is set to "Get Property", you can indicate here a property of the filtered objects to be retrieved. You can specify nested properties by using a dot (ex: Shape.Volume)
  • DataData Type: Specifies if you want to retrieve a property of the filtered objects, or to count them
  • DataFilter: A pattern to look for in the label or type of the objects in the document. For example, setting this value to "Struct" will get all objects containing Struct in their name, such as Structure001
  • DataFilter Type: Specifies if the filter must be applied to the object label or type.


Spreadsheets can be created from python scripts and macros using the makeSpreadsheetController() function:

 import Spreadsheet
 mySpreadsheet = Spreadsheet.makeSpreadsheet()
 controller = Spreadsheet.makeSpreadsheetController(mySpreadsheet)


  • This tool is not available below FreeCAd version 0.14
  • Currently it is not possible to undo the changes that a controller does to its host spreadsheet.