Our goal since we started development of Open XML support was to read from and write to Excel Open XML (.xlsx and .xlsm) files everything which we support in our API and as many of the elements as possible which SpreadsheetGear for .NET can read and write from / to Excel 97-2003 (.xls) files.
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 were introduced in SpreadsheetGear 2008 and have not changed with the release of SpreadsheetGear 2017.
Excel 2016 has full support for these features via the the "ISO/IEC 29500 Strict" file format. Unfortunately this file format has not received wide industry adoption as of the release of SpreadsheetGear 2017 (Excel for iOS does not even support the strict format). So we are reconsidering the possibility of supporting VML in the Open XML transitional file format in the next major release of SpreadsheetGear.
SpreadsheetGear 2017 Limitations:
- Cell comments and form controls (such as buttons, checkboxes, list boxes, etc…) will not be read from or written to .xlsx or .xlsm files. Excel 2007-2019 save cell comments and form controls as VML in the default xlsx file format, which is a legacy format and is not part of the ISO 29500 Strict approved Open XML standard. We did some initial work to support VML in SpreadsheetGear 2008, but we had made the decision not to support VML at that time because: (1) VML written by Excel 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) Microsoft had committed to fully supporting ISO 29500 Strict in "Excel 15". Since the ISO 20500 Strict format has not been adopted widely we are considering supporting VML in the next major release of SpreadsheetGear. In the meantime, 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 2017 stores the shape properties in a property list just as previous versions of SpreadsheetGear for .NET 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 and .xlsm is generally limited to what is supported in the SpreadsheetGear APIs.
- Table references in formulas such as [Sales] are converted to #REF! SpreadsheetGear does not support Excel 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.