Version 1.0.2010.0729 is available for download

by clearoffice 30. July 2010 21:23

This version includes the following improvements:

  • Data validation and Conditional formatting share the same formula engine. This engine is dynamic. For example, if a formula contains "=A1" and A1 is move to A2, the formula will be updated to "=A2"
  • Some worksheet protections bugs have been fixed
  • Workbook protection is now implemented



Version 1.0.2010.0726 available for download

by clearoffice 28. July 2010 04:22

This August release candidate contains the following improvements:

  • The application menu is now 2010 style

  • Minor bug fixes for pie and area charts
  • Data validation is now checked after entering a cell value


The July 2010 release version is available for download

by clearoffice 23. July 2010 21:10

The July 2010 release version is available for download at

This version fixes bugs in several areas (printing, multiple selection, etc) and introduces the embedded XAML elements.



Mixing Spreadsheets and WPF - part 2

by clearoffice 20. July 2010 19:28

As noted a previous post, Clear Office provides an unparalleled level of integration between spreadsheet documents and .NET/WPF: you can host spreadsheets inside WPF and host WPF elements inside a spreadsheet.
In particular, this means you can use data binding inside a spreadsheet.
For example, say you want to include host a slider and bind its value to the value of a cell. Here is the XAML code:

<Slider xmlns:UI='clr-namespace:Office.Spreadsheet.UI;assembly=Office.Spreadsheet.UI' xmlns=''
    Minimum='0' Maximum='100'
    Value='{Binding RelativeSource={RelativeSource Self}, Path=(UI:SpreadsheetElement.Worksheet)[A1].Value}'

The main point of interest is the path of the binding of the value: (UI:SpreadsheetElement.Worksheet)[A1].Value. This path contains three parts.
  • First: (SpreadsheetElement.Worksheet) is an attached property which gets the ambiant worksheet hosting the WPF element.
  • Second: [A1] access the cell named “A1” in this worksheet - class Worksheet exposes an indexer to access cells by name.
  • Third: Value accesses the value of the cell.

This binding is a two way binding: if you change the value of the cell, the slider’s value will be updated.


Conversely, if you slide the thumb of the slider, the value of the cell will be updated.

For more info, download the latest release candidate at and open the sample named  “EmbeddedObjectsSample”.




Version 1.0.2010.0719 is available for download

by clearoffice 20. July 2010 04:06

This version fixes some print issues when printing charts.


Version 1.0.2010.0714 is available for download

by clearoffice 16. July 2010 05:07

This version improves the following:

  • Cells can hold values of type decimal
  • The worksheet grid now supports custom cell editors. See the CustomCellEditorSample for a sample



Mixing Spreadsheets and WPF

by clearoffice 13. July 2010 02:59

For quite some time, Clear Office has enabled software developers to host spreadsheets inside their WPF application.

Starting with version 1.0.2010.0710, Clear Office supports hosting WPF elements inside a worksheet. Clear Office supports hosting any descendant of FrameworkElement including any control, shape or panel. Here is a sample screen shot in Clear Office:


In this screen shoot, the button filled with an orange ellipse is a WPF button.

You can save spreadsheet documents with embedded WPF elements to a .xlsx file and open them with Excel. Here is a screen shot of the same file in Microsoft Excel

Rountripping is also supported: you can save files from Excel and reopen them in Clear Office.

How it works

Before this release,, worksheet anchors could contain only the following:

  • Shape, Picture, GroupShape and Connector from Office.Drawing
  • GraphicFrame from Office.Chart

This release introduces a new option for anchored content: XamlElement. XamlElement in turns contains a Content of type FrameworkElement.

Here is the code to add someElement inside a anchor of a worksheet

OneCellAnchor anchor = new OneCellAnchor(worksheet[3, 5]){Width=100, Height=100};

anchor.Content = new XamlElement{e.Content = someElement};


 XamlElement uses the standard WPF XAML serialization (XamlReader/XamlWriter) to serialize to file. As a result, any property / attached property and behavior will be serialized.

For example, have a look at the "EmbeddedObjectsSample" Sample of the Spreadsheet Framework. This sample demonstrates how to insert the button in the screen shot above and how to assign a click behavior similar to an Excel macro.

(This is a release candidate, details may change before a formal release)


Version 1.0.2010.0705 is available for download

by clearoffice 8. July 2010 05:15

This version improves the following:

- Fixes a formatting bug when switching workbook

- Takes into account categories when creating pie charts

- Properly saves the varyColor property of charts.


Version 1.0.2010.0630 is available for download

by clearoffice 2. July 2010 05:59

This version improves the following:

- A bug in chart display is fixed for the .NET 3.0 version

- Adding data validation from the ribbon is now implemented


Version 1.0.2010.0629 is available for download

by clearoffice 1. July 2010 07:36

This versions improves the following:

- .NET 3.0 version starts properly

- Pie chart legends include categories