Clear Office architecture
At the top, spreadsheet.exe is a small executable that uses other assemblies to do its job. Eath area of Office is implemented with two assemblies: a graphical assembly and a non graphical assembly.
For example, reading and writing drawings and themes is implemented in assembly Office.Drawing while Office.Drawing.UI enables you to display a drawing on the screen.
Similarly, Office.Chart implements differents types for charts, axes and legends while Office.Chart.UI provides the user interface for displaying and editing charts.
Finally, Office.Spreadsheet implements types such as Workbook, Worksheet and Cell. Office.Spreadesheet.UI provides the user interface for them.
Developers who want to manipulate Office files without any user interface can restrict themselves to the non graphical assemblies.
Formula in spreadsheet can use functions. To enable extensibility, seperate assemblies - add in assemblies - implement these functions.
Office.UI implements user interface functionality such as the ribbon and common dialogs.
Finally, Office.Base contains utility classes for serialization, formatting and undoable actions.