Our goal when we started SpreadsheetGear 2008 development was to read from and write to Excel 2007 Open XML (.xlsx) files everything which we support in our API and as many of the elements as possible which previous versions of SpreadsheetGear for .NET could read and write from / to Excel 97-2003 (.xls) files. Unfortunately, some features supported in the .xls file format currently have limited support or no support in the .xlsx file format.
We intend to support all of these features eventually. We base new features primarily on customer feedback, so let us know what is important to you.
These limitations have not changed with the release of SpreadsheetGear 2009. We are waiting to see what, if anything, Microsoft does to address the issues with Open XML limitations when Office 14 is released. At that time we will revisit issues related to limitations of the Open XML file format and reconsider whether we should support objects which depend on VML.
Issues not related to Open XML file format limitations will be handled as all unimplemented features are. They will be prioritized based on customer feedback, taking into account the amount of work involved in implementing each feature.
SpreadsheetGear 2009 Limitations:
- Cell comments and form controls (such as buttons, checkboxes, list boxes, etc…) will not be read from or written to .xlsx files. Excel 2007 saves cell comments and form controls as VML, which is an old format and is not part of the ISO 29500 approved Open XML standard. We did some initial work to support VML but we have made the decision not to support VML at this time because: (1) VML written by Excel 2007 is not always well formed XML which causes exceptions when using the .NET XML classes, (2) VML is a lot of work (the VML Reference is 618 pages) for limited gain, (3) Since VML is not part of the ISO 29500 standard, it stands to reason that Excel 14 will implement a new method of saving cell comments and form controls which will be approved as an ISO standard and which we certainly intend to support in a future version of SpreadsheetGear. In the mean time, the only workaround is to save workbooks as Excel .xls files.
- Reading and writing shapes from and to Open XML files is limited. When reading shapes from a .xls file, SpreadsheetGear 2009 stores the shape properties in a property list just as SpreadsheetGear for .NET 2007 did. When these shapes are written back out to .xls files, they still have a high degree of fidelity. When these shapes are saved to .xlsx, many properties are lost and all complex shapes are lost as well. Reading and writing of shapes from and to .xlsx is generally limited to what is supported in the SpreadsheetGear APIs.
- When reading conditional formats, only Excel 2003 features are supported. Conditional formats which use Excel 2007 features are ignored (deleted). Also, SpreadsheetGear 2009 does not support Excel 2007’s new ability to have different conditional formats which overlap, so when a conditional format is read which overlaps a previous conditional format, the cells in the previous conditional format are removed from the newly read conditional format.
- Table references in formulas such as [Sales] are converted to #REF! SpreadsheetGear does not support Excel 2007 Tables. With no table to refer to, there is no way to preserve these formulas in their original state or Excel will generate a warning when reading the workbook.
- .xlsx files do not support VBA. We may support .xlsm and / or .xlsb files, which do support VBA, in a future version.