What's New
Please choose a SpreadsheetGear product tab below to show relevant release notes for that specific product.
Recent Changes
Please see the below list for release notes relating to the most recent versions of SpreadsheetGear for Windows, and refer further down on this page for an exhaustive list of release notes for all current and past versions.
- 9.3.1 Fixed an issue which caused SpreadsheetGear to crash if a data validation list starts with " ," (space followed by comma). (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to write the Biff8 THEME record to .xls workbooks so that recent versions of Excel do not change the default font to Aptos Narrow. (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to work with invariant-globalization mode. (Aug 21, 2024)
- 9.3.1 Fixed an issue with opening Open XML workbooks for certain locales with locale-sensitive formulas in Form Control properties ListFillRange and LinkedCell. (Aug 21, 2024)
- 9.3.4 Added workaround for unreliable string comparison in invariant-globalization mode. (Aug 29, 2024)
- 9.3.10 Fixed an issue which caused SpreadsheetGear to fail to read certain password protected Open XML workbooks if the workbook was created with an old version of Excel and then changed in a recent version of Excel. (Sep 16, 2024)
SpreadsheetGear for Windows Version 9
New Features
-
NEW PRODUCT SpreadsheetGear for Windows
- Optimized for .NET 6+ for Windows.
- Brings the full power of SpreadsheetGear for .NET Framework to .NET 6+ Windows Forms, WPF and ASP.NET Core developers.
- Includes SpreadsheetGear Engine for .NET.
- Full Windows Per-Monitor (V2) high DPI support.
- Added new text layout engine to provide consistent text layout between WPF, Windows Forms and Image Rendering APIs.
- Support for reading and writing cell comments and form controls with Open XML (.xlsx and .xlsm) workbooks.
- Official support for Excel 2021 and the latest versions of Excel for Microsoft 365.
- Support for embedded pictures in print headers and footers.
- Support for standard and custom document properties.
-
Chart enhancements including:
- Support for embedding shapes within charts.
- Support for creating chart sheets.
- Added a number of IChartSheet properties and methods as well as the related IChartSheetWindowInfo and IChartSheetWindowInfos interfaces.
-
Shape enhancements for better compatibility with Excel including:
- Arrowheads and other markers on lines.
- Better support for radio button form controls.
- Support for grouping and ungrouping shapes.
- Support for autosizing of cell comments and text objects.
- Support for picture cropping including support for negative picture crop values.
-
Support for fine-grained worksheet protection options including:
- Select locked cells
- Select unlocked cells
- Format cells
- Format columns
- Format rows
- Insert columns
- Insert rows
- Insert hyperlinks
- Delete columns
- Delete rows
- Sort
- Use AutoFilter
- Edit objects
- Updated new workbook theme to more closely match recent versions of Excel.
- The SpreadsheetGear.Drawing.Image class supports setting the output DPI.
- Added support for Alt+Down key combination to display the data validation dropdown list control.
- Support for rendering rich text in cells in Windows Forms WorkbookView (.NET 6+ only).
- Added an IWorksheet.Comments[...] collection that returns all cell comments for the specified worksheet.
Breaking Changes
- As part of adding the IWorksheet ProtectDrawingObjects and ProtectScenarios properties, setting IWorksheet.ProtectContents was changed to no longer have the effect of modifying these two properties.
- Changed the CHAR and CODE worksheet functions to use CultureInfo.TextInfo.ANSICodePage to convert to and from Unicode.
- Changed IWorksheets.Add to keep track of the last number used to automatically generate the name such as "Sheet1". This number is reset to 1 when a workbook is loaded which will lead to different behavior. The new IChartSheets.Add follows the same strategy with it's own next sheet number. This behavior is the same as Excel.
- Removed the deprecated LineStyle.Continous enumerated value. Please use LineStyle.Continuous instead.
- Changed IWorkbookSet.CalculateFullRebuild to no longer try to optimize memory usage and added new IWorkbookSet.GC method which does try to optimize memory usage.
- Changed the WEBSERVICE function to be disabled by default. To enable WEBSERVICE you must set IWorkbookSet.EnableWebService to true.
Issues Addressed
- Improved number parsing and formatting accuracy.
- Fixed an issue which caused a failure to fixup cell references in certain cases where multiple conditional format conditions apply to a cell and the criteria is a complex formula with relative references.
- Fixed number formatting to handle cases such as "a"General"b".
- Fixed to allow copying from a partial array formula range.
- Fixed WorkbookView.ContextMenu property to initialize the context menu before returning it in the property getter.
- Improved IRR to no longer favor values between the guess and zero over values closer to the guess.
- Fixed hiding and showing of rows and columns to update IRange.ShowDetails as needed.
- Fixed issue with changed formula cell in view area not rendering in some cases when scrolling.
- Fixed thousands separator parsing and formatting to consider '\u202F' as well as '\u00A0'.
- Fixed a performance issue which occurred when there are large numbers of defined names where many of these names refer to names which refer to names, etc...
- Fixed some painting issues when scrolling past ends of worksheet.
- Fixed various issues with Data Validation dropdown.
- Fixed a problem which caused an exception to be thrown if identical Unicode text longer than 127 characters is contained in more than 255 cells.
- Fixed a problem which caused reading of certain password protected Open XML workbooks to throw an exception.
- Fixed a case where we were trying to handle OnPaint when calling Control.Dispose while updating the screen after scrolling (another case of the OLE COM message pump issue).
- Fixed a NullReferenceException with cell validation when a modal dialog is displayed after clicking the mouse.
- Fixed a problem which sometimes occurred when copying array formulas to other cells in the same column.
- Fixed a problem with copying to the clipboard in some cases when auto-filters are applied and the source range has exactly one visible row.
- Fixed a problem with EOMONTH which caused it to return an incorrect result when used in a non-array cell formula with arguments including a MATCH function with an array constant for the 'lookup_array' argument.
- Fixed a problem with IRange.Copy which occurred when used with PasteType.Values and fewer rows in the source range than the destination range.
- Fixed a variety of issues with print black and white.
- Fixed an issue which caused a null reference exception to be thrown when copying a worksheet which contains worksheet specific defined names which contain circular references.
- Fixed an issue which caused an exception to be thrown in certain cases when pasting cell formulas which reference worksheet scoped defined names on a worksheet in another workbook.
- Fixed an issue which caused certain complex conditional formats to not repaint after a workbook set is calculated.
- Fixed an issue which caused LINEST, LOGEST, GROWTH and TREND to sometimes return inconsistent results if the number of columns in 'known_xs' is greater than the number of rows in 'known_ys'.
- Fixed an issue which caused LINEST, LOGEST, GROWTH and TREND to fail to remove colinear columns in certain cases when there are multiple colinear columns.
- Fixed an issue which caused conditional formats to sometimes not be rendered correctly when they are scrolled into view.
- Fixed an issue which caused exceptions to be thrown in cases where multiple unused WorkbookView controls are reclaimed by the garbage collector at one time without having had Dispose called on them.
- Fixed cases where adding a merged cell incorrectly enlarges the current selected range even if the selection contains entire rows or entire columns.
- Fixed column width issue which caused large column widths to be truncated with smaller than normal default workbook fonts.
- Fixed data validation listboxes to ignore blank entries in criteria specified by hard coded comma separated lists.
- Fixed dropdown listboxes to work with a single cell reference for the linked range.
- Fixed hyperlinks to handle square braces such as [address]subaddress.
- Fixed IFERROR problems with certain complex formulas.
- Fixed issue with number formatting and precision as displayed where format == "# ?/?%" and the value is 9E21.
- Fixed issues with Hyperlink linked to external workbook reference.
- Fixed parsing formatted numbers which are both fractions and percent.
- Fixed Outline expanders to work more like Excel when rows or columns are hidden within a grouped range.
- Fixed saving of merged cells extending beyond IV65536 to xls workbooks to maintain the partial merged cell as Excel does.
- Fixed to be able to read workbooks with table references containing double quotes.
- Fixed worksheet and chartsheet numbering for new sheets to work like Excel. They each keep their own next sheet number and that number gets reset to 1 when a workbook is opened.
- Fixed various issues with data validation listbox not refreshing location when changing selection.
- Fixed writing column widths to xls when width is > UInt16.MaxValue.
- Fixed various issues with TextBox editing on charts and chart sheets.
- Fixed WorkbookView OnPaint exception in Windows Forms when closing Workbook Designer with two child workbooks each containing a form control.
- Improved performance of merging large ranges of cells.
- 9.2.11 Fixed CommandManager(IWorkbookSet) constructor to work with no WorkbookView attached to the workbook set. (Oct 12, 2023)
- 9.2.12 Fixed INames.Add to throw an exception if 'formula' is text (not a formula with leading '=') longer than 255 characters as Excel does. (Oct 18, 2023)
- 9.2.12 Fixed issues with OR, AND and XOR functions which caused them to return incorrect results in certain cases involving 0.0 and / or certain text values. (Oct 18, 2023)
- 9.2.13 Added a work around to read workbooks written by certain 3rd party software with invalid VML. (Nov 1, 2023)
- 9.2.14 Fixed issues with SpreadsheetGear for Windows text layout when only single partial characters are viewable. (Nov 4, 2023)
- 9.2.14 Fixed copying conditional formats to fixup formulas in Extended Criteria. (Nov 4, 2023)
- 9.2.14 Fixed an issue which caused worksheet corruption and various exceptions when copying formulas containing text to certain types of destinations. (Nov 4, 2023)
- 9.2.14 Fixed issues with SpreadsheetGear for Windows text layout when only single partial characters are viewable. (Nov 4, 2023)
- 9.2.20 Fixed adding cell comments to position the comments within visible rows and columns. (Nov 9, 2023)
- 9.2.21 Fixed an issue which caused SUMIF and COUNTIF to sometimes return incorrect results if the first argument only has one row. (Nov 10, 2023)
- 9.2.21 Fixed issues with data validation listbox when used on cells near or at end of worksheet. (Nov 10, 2023)
- 9.2.22 Fixed an issue which caused Hyperlinks in cells to display incorrectly in certain cases. (Nov 13, 2023)
- 9.2.23 Fixed an issue which caused CHOOSE to sometimes return an incorrect result when used in an array formula. (Nov 17, 2023)
- 9.2.23 Fixed an issue which caused the cell comment editor default position to be incorrect in some cases involving frozen panes. (Nov 17, 2023)
- 9.2.23 Fixed problems which sometimes occurred when sorting formulas which contained text results or a result of zero. (Nov 17, 2023)
- 9.2.25 Fixed editing shapes, charts, text boxes and cell comments to work when they span frozen or split panes. (Dec 19, 2023)
- 9.2.25 Fixed issues with cell comment popup and arrow disappearing when editing shapes. (Dec 19, 2023)
- 9.2.26 Fixed HLOOKUP and VLOOKUP to round up col_index_num and row_index_num when they are very close to the next index. (Dec 19, 2023)
- 9.2.27 Improved cell comments to scroll them into view when switching into edit mode. (Jan 31, 2024)
- 9.2.27 Fixed an issue which caused cells being cut to temporarily be locked when a RangeChanged event is called. (Jan 31, 2024)
- 9.2.27 Workaround for 3rd-Party file with missing shape cluster ID's in VML part. (Jan 31, 2024)
- 9.2.27 Fixed cases where the SpreadsheetGear UI displayed "One or more errors occurred." instead of a more specific error message. (Jan 31, 2024)
- 9.2.28 Fixed display issues with Windows Forms FormulaBar when hosted in a TabControl. (Feb 15, 2024)
- 9.2.29 Fixed an issue which caused SpreadsheetGear to hang when parsing numbers like "0.00000000000000000000000" for entry into a cell. (Mar 13, 2024)
- 9.2.32 Added workaround for workbook which contains a theme with a missing font name. (Mar 13, 2024)
- 9.2.50 Fixed copying of a worksheet to another workbook with ISheet.CopyBefore or ISheet.CopyAfter to no longer add " (2)" to the new worksheet name if the worksheet name is unique in the destination workbook. (May 7, 2024)
- 9.2.50 Fixed formatting borders to work correctly when formatted cells are unlocked, adjoining cells are locked and the worksheet is protected. (May 7, 2024)
- 9.2.50 Save IWorksheet.ProtectContents and ProtectScenarios for UI when unprotecting. (May 7, 2024)
- 9.2.53 Fixed issues with WPF WorkbookView no longer receiving key events after using certain SpreadsheetGear for Windows Forms dialog boxes. (May 14, 2024)
- 9.2.54 Fixed ADDRESS function to append "!" if an empty worksheet name is supplied. (Jun 25, 2024)
- 9.2.54 Fixed INDEX to round up row, column and area indexes which are only slightly less than the next integer. (Jun 25, 2024)
- 9.2.54 Fixed an issue which caused IF to fail to iterate arrays for the 3rd argument if the 2nd argument returns an error. (Jun 25, 2024)
- 9.2.54 Fixed SEARCH function to return a result for cases such as =SEARCH("a*", "a") as Excel does. (Jun 25, 2024)
- 9.2.56 Fixed ADDRESS function to round up row and column indexes which are only slightly less than the next integer. (Jun 29, 2024)
- 9.2.56 Fixed an issue which caused incorrect results for certain array formulas such as "=A1:A2*{1,2}". (Jun 29, 2024)
- 9.2.56 Fixed an issue which caused certain worksheet functions which expect a range to return the wrong result when used in an array formula. (Jun 29, 2024)
- 9.3.1 Fixed an issue which caused SpreadsheetGear to crash if a data validation list starts with " ," (space followed by comma). (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to write the Biff8 THEME record to .xls workbooks so that recent versions of Excel do not change the default font to Aptos Narrow. (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to work with invariant-globalization mode. (Aug 21, 2024)
- 9.3.1 Fixed an issue with opening Open XML workbooks for certain locales with locale-sensitive formulas in Form Control properties ListFillRange and LinkedCell. (Aug 21, 2024)
- 9.3.4 Added workaround for unreliable string comparison in invariant-globalization mode. (Aug 29, 2024)
- 9.3.10 Fixed an issue which caused SpreadsheetGear to fail to read certain password protected Open XML workbooks if the workbook was created with an old version of Excel and then changed in a recent version of Excel. (Sep 16, 2024)
Recent Changes
Please see the below list for release notes relating to the most recent versions of SpreadsheetGear Engine for .NET, and refer further down on this page for an exhaustive list of release notes for all current and past versions.
- 9.3.1 Fixed SpreadsheetGear to write the Biff8 THEME record to .xls workbooks so that recent versions of Excel do not change the default font to Aptos Narrow. (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to work with invariant-globalization mode. (Aug 21, 2024)
- 9.3.1 Fixed an issue with opening Open XML workbooks for certain locales with locale-sensitive formulas in Form Control properties ListFillRange and LinkedCell. (Aug 21, 2024)
- 9.3.4 Added workaround for unreliable string comparison in invariant-globalization mode. (Aug 29, 2024)
- 9.3.10 Fixed an issue which caused SpreadsheetGear to fail to read certain password protected Open XML workbooks if the workbook was created with an old version of Excel and then changed in a recent version of Excel. (Sep 16, 2024)
SpreadsheetGear Engine for .NET Version 9
New Features
-
SpreadsheetGear Engine for .NET replaces SpreadsheetGear for .NET Standard:
- Separate SpreadsheetGear.dll assemblies optimized for .NET Standard 2.0 and .NET 6+.
- Runs everywhere .NET Standard 2.0 or .NET 6+ is supported.
- .NET 6+ assembly includes support for .NET intrinsics which improves performance of some operations.
- Both assemblies include DataTable and DataSet APIs which were missing from SpreadsheetGear for .NET Standard.
- Support for reading and writing cell comments and form controls with Open XML (.xlsx and .xlsm) workbooks.
- Official support for Excel 2021 and the latest versions of Excel for Microsoft 365.
- Support for embedded pictures in print headers and footers.
- Support for standard and custom document properties.
-
Chart enhancements including:
- Support for embedding shapes within charts.
- Support for creating chart sheets.
- Added a number of IChartSheet properties and methods as well as the related IChartSheetWindowInfo and IChartSheetWindowInfos interfaces.
-
Shape enhancements for better compatibility with Excel including:
- Arrowheads and other markers on lines.
- Better support for radio button form controls.
- Support for grouping and ungrouping shapes.
- Support for autosizing of cell comments and text objects.
- Support for picture cropping including support for negative picture crop values.
-
Support for fine-grained worksheet protection options including:
- Select locked cells
- Select unlocked cells
- Format cells
- Format columns
- Format rows
- Insert columns
- Insert rows
- Insert hyperlinks
- Delete columns
- Delete rows
- Sort
- Use AutoFilter
- Edit objects
- Updated new workbook theme to more closely match recent versions of Excel.
- Added an IWorksheet.Comments[...] collection that returns all cell comments for the specified worksheet.
Breaking Changes
- As part of adding the IWorksheet ProtectDrawingObjects and ProtectScenarios properties, setting IWorksheet.ProtectContents was changed to no longer have the effect of modifying these two properties.
- Changed the CHAR and CODE worksheet functions to use CultureInfo.TextInfo.ANSICodePage to convert to and from Unicode.
- Changed IWorksheets.Add to keep track of the last number used to automatically generate the name such as "Sheet1". This number is reset to 1 when a workbook is loaded which will lead to different behavior. The new IChartSheets.Add follows the same strategy with it's own next sheet number. This behavior is the same as Excel.
- Removed the deprecated LineStyle.Continous enumerated value. Please use LineStyle.Continuous instead.
- Changed IWorkbookSet.CalculateFullRebuild to no longer try to optimize memory usage and added new IWorkbookSet.GC method which does try to optimize memory usage.
- Changed the WEBSERVICE function to be disabled by default. To enable WEBSERVICE you must set IWorkbookSet.EnableWebService to true.
Issues Addressed
- Improved number parsing and formatting accuracy.
- Fixed an issue which caused a failure to fixup cell references in certain cases where multiple conditional format conditions apply to a cell and the criteria is a complex formula with relative references.
- Fixed number formatting to handle cases such as "a"General"b".
- Fixed to allow copying from a partial array formula range.
- Improved IRR to no longer favor values between the guess and zero over values closer to the guess.
- Fixed hiding and showing of rows and columns to update IRange.ShowDetails as needed.
- Fixed thousands separator parsing and formatting to consider '\u202F' as well as '\u00A0'.
- Fixed a performance issue which occurred when there are large numbers of defined names where many of these names refer to names which refer to names, etc...
- Fixed a problem which caused an exception to be thrown if identical Unicode text longer than 127 characters is contained in more than 255 cells.
- Fixed a problem which caused reading of certain password protected Open XML workbooks to throw an exception.
- Fixed a problem which sometimes occurred when copying array formulas to other cells in the same column.
- Fixed a problem with EOMONTH which caused it to return an incorrect result when used in a non-array cell formula with arguments including a MATCH function with an array constant for the 'lookup_array' argument.
- Fixed a problem with IRange.Copy which occurred when used with PasteType.Values and fewer rows in the source range than the destination range.
- Fixed a variety of issues with print black and white.
- Fixed an issue which caused a null reference exception to be thrown when copying a worksheet which contains worksheet specific defined names which contain circular references.
- Fixed an issue which caused an exception to be thrown in certain cases when pasting cell formulas which reference worksheet scoped defined names on a worksheet in another workbook.
- Fixed an issue which caused LINEST, LOGEST, GROWTH and TREND to sometimes return inconsistent results if the number of columns in 'known_xs' is greater than the number of rows in 'known_ys'.
- Fixed an issue which caused LINEST, LOGEST, GROWTH and TREND to fail to remove colinear columns in certain cases when there are multiple colinear columns.
- Fixed cases where adding a merged cell incorrectly enlarges the current selected range even if the selection contains entire rows or entire columns.
- Fixed column width issue which caused large column widths to be truncated with smaller than normal default workbook fonts.
- Fixed data validation listboxes to ignore blank entries in criteria specified by hard coded comma separated lists.
- Fixed dropdown listboxes to work with a single cell reference for the linked range.
- Fixed hyperlinks to handle square braces such as [address]subaddress.
- Fixed IFERROR problems with certain complex formulas.
- Fixed issue with number formatting and precision as displayed where format == "# ?/?%" and the value is 9E21.
- Fixed issues with Hyperlink linked to external workbook reference.
- Fixed parsing formatted numbers which are both fractions and percent.
- Fixed saving of merged cells extending beyond IV65536 to xls workbooks to maintain the partial merged cell as Excel does.
- Fixed to be able to read workbooks with table references containing double quotes.
- Fixed worksheet and chartsheet numbering for new sheets to work like Excel. They each keep their own next sheet number and that number gets reset to 1 when a workbook is opened.
- Fixed writing column widths to xls when width is > UInt16.MaxValue.
- Improved performance of merging large ranges of cells.
- 9.2.12 Fixed INames.Add to throw an exception if 'formula' is text (not a formula with leading '=') longer than 255 characters as Excel does. (Oct 18, 2023)
- 9.2.12 Fixed issues with OR, AND and XOR functions which caused them to return incorrect results in certain cases involving 0.0 and / or certain text values. (Oct 18, 2023)
- 9.2.13 Added a work around to read workbooks written by certain 3rd party software with invalid VML. (Nov 1, 2023)
- 9.2.14 Fixed copying conditional formats to fixup formulas in Extended Criteria. (Nov 4, 2023)
- 9.2.14 Fixed an issue which caused worksheet corruption and various exceptions when copying formulas containing text to certain types of destinations. (Nov 4, 2023)
- 9.2.14 Fixed issues with SpreadsheetGear for Windows text layout when only single partial characters are viewable. (Nov 4, 2023)
- 9.2.20 Fixed adding cell comments to position the comments within visible rows and columns. (Nov 9, 2023)
- 9.2.21 Fixed an issue which caused SUMIF and COUNTIF to sometimes return incorrect results if the first argument only has one row. (Nov 10, 2023)
- 9.2.23 Fixed an issue which caused CHOOSE to sometimes return an incorrect result when used in an array formula. (Nov 17, 2023)
- 9.2.23 Fixed problems which sometimes occurred when sorting formulas which contained text results or a result of zero. (Nov 17, 2023)
- 9.2.26 Fixed HLOOKUP and VLOOKUP to round up col_index_num and row_index_num when they are very close to the next index. (Dec 19, 2023)
- 9.2.27 Workaround for 3rd-Party file with missing shape cluster ID's in VML part. (Jan 31, 2024)
- 9.2.29 Fixed an issue which caused SpreadsheetGear to hang when parsing numbers like "0.00000000000000000000000" for entry into a cell. (Mar 13, 2024)
- 9.2.32 Added workaround for workbook which contains a theme with a missing font name. (Mar 13, 2024)
- 9.2.50 Fixed copying of a worksheet to another workbook with ISheet.CopyBefore or ISheet.CopyAfter to no longer add " (2)" to the new worksheet name if the worksheet name is unique in the destination workbook. (May 7, 2024)
- 9.2.54 Fixed ADDRESS function to append "!" if an empty worksheet name is supplied. (Jun 25, 2024)
- 9.2.54 Fixed INDEX to round up row, column and area indexes which are only slightly less than the next integer. (Jun 25, 2024)
- 9.2.54 Fixed an issue which caused IF to fail to iterate arrays for the 3rd argument if the 2nd argument returns an error. (Jun 25, 2024)
- 9.2.54 Fixed SEARCH function to return a result for cases such as =SEARCH("a*", "a") as Excel does. (Jun 25, 2024)
- 9.2.56 Fixed ADDRESS function to round up row and column indexes which are only slightly less than the next integer. (Jun 29, 2024)
- 9.2.56 Fixed an issue which caused incorrect results for certain array formulas such as "=A1:A2*{1,2}". (Jun 29, 2024)
- 9.2.56 Fixed an issue which caused certain worksheet functions which expect a range to return the wrong result when used in an array formula. (Jun 29, 2024)
- 9.3.1 Fixed SpreadsheetGear to write the Biff8 THEME record to .xls workbooks so that recent versions of Excel do not change the default font to Aptos Narrow. (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to work with invariant-globalization mode. (Aug 21, 2024)
- 9.3.1 Fixed an issue with opening Open XML workbooks for certain locales with locale-sensitive formulas in Form Control properties ListFillRange and LinkedCell. (Aug 21, 2024)
- 9.3.4 Added workaround for unreliable string comparison in invariant-globalization mode. (Aug 29, 2024)
- 9.3.10 Fixed an issue which caused SpreadsheetGear to fail to read certain password protected Open XML workbooks if the workbook was created with an old version of Excel and then changed in a recent version of Excel. (Sep 16, 2024)
SpreadsheetGear Engine for .NET Version 8
New Features
-
NEW PRODUCT:
SpreadsheetGear for .NET Standard
Runs on multiple platforms including:- Microsoft .NET Framework
- ASP.NET Core
- .NET Core
- Universal Windows Platform
- Xamarin.iOS
- Xamarin.Android
- Xamarin.Forms
- Mono
-
SpreadsheetGear for .NET Standard OS support includes:
- Windows
- Windows Server
- Windows Nano Server
- Windows Mobile
- Windows IoT
- XBox One
- Linux
- MacOS
- iOS
- Android
- Google App Engine
- Samsung Tizen
- Official support for Excel 2013 and Excel 2016.
-
Support for 50 new Excel 2013 functions as well as the Excel 2010 AGGREGATE function:
- ACOT
- ACOTH
- AGGREGATE
- ARABIC
- BASE
- BINOM.DIST.RANGE
- BITAND
- BITLSHIFT
- BITOR
- BITRSHIFT
- BITXOR
- CEILING.MATH
- COMBINA
- COT
- COTH
- CSC
- CSCH
- DAYS
- DECIMAL
- ENCODEURL
- FILTERXML
- FLOOR.MATH
- GAMMA
- GAUSS
- IFNA
- IMCOSH
- IMCOT
- IMCSC
- IMCSCH
- IMSEC
- IMSECH
- IMSINH
- IMTAN
- ISFORMULA
- ISO.CEILING
- ISOWEEKNUM
- MUNIT
- NUMBERVALUE
- PDURATION
- PERMUTATIONA
- PHI
- RRI
- SEC
- SECH
- SHEET
- SHEETS
- SKEW.P
- UNICHAR
- UNICODE
- WEBSERVICE
- XOR
-
Excel 2016 compatible conditional formatting including:
- Icon Sets
- Data Bars
- Color Scales
- Highlight Cells
- Top n / Bottom n Rules
- More than 3 Rules per cell
- Advanced Rules
- Overlapping Rules
- Autofilter by font color, cell color and conditional format icon.
- Support for reading, writing, modifying and rendering gradient cell backgrounds as well as API support with the IRange.Interior.Gradient and IRange.Interior.Pattern properties.
- Support for reading and writing encrypted workbooks with the new Agile Encryption used by Excel 2013 and later including default SHA-512 encryption for workbooks.
- Support for new Excel 2013 and later workbook structure and worksheet protection passwords.
- SpreadsheetGear for .NET Standard for Windows Nano Server 2016 support) including support for .NET Framework 4.7.
- Visual Studio 2017 support including Windows Forms and WPF control toolbox integration, IntelliSense and Microsoft Help Viewer 2.3 integration.
- Added IWorkbookSet.WithLock(Action) and WorkbookView.WithLock(Action) methods to simplify GetLock...try...finally...ReleaseLock sequences (not included in the .NET Framework 2.0 assembly).
- Enabled multi-threaded recalc for array formulas and worksheet functions which evaluate as arrays (including functions such as SUMPRODUCT).
- Improved the performance of copying formulas with 3d cell references, 3d name references and / or addin function references.
- Improved the performance of a number of worksheet functions.
- Improved the performance of parsing formulas with 3d references which refer to a workbook with a large number of worksheets. This yielded a dramatic performance improvement when reading Open XML workbooks with a significant number of such references.
- New workbooks now use Excel 2016 theme.
- 8.1.1 Improve the performance of workbooks with large numbers of merged cells. (Dec 13, 2017)
- 8.1.1 Improve IRange.Copy performance for certain cases of copying a multiple row range to a range with more rows than the source. (Dec 13, 2017)
- 8.1.1 Improve performance of adding a large number of worksheet specific defined names using INames.Add. (Dec 13, 2017)
- 8.1.1 Increase support for unique text cells from approximately 2GB of text to approximately 30GB of text. (Dec 13, 2017)
Issues Addressed
- Added a number of workarounds to enable the reading of Open XML workbooks which are technically illegal but which Excel allows.
- Fixed a significant number of worksheet functions to catch up with improvements made to Excel in recent years. This work was validated against Excel 2016.
- Fixed a number of pre-existing worksheet function bugs found while validating against Excel 2016. These were generally obscure bugs having to do with special cases such as combinations of functions when used in array formulas (this is one of the more common of many examples).
- Fixed a problem which caused a number of functions to be saved incorrectly so that Excel would treat these functions as user defined functions rather than built in functions. This happened only with functions which were added in Excel 2010 or later. SpreadsheetGear now properly parses and saves all worksheet functions included in Excel 2016 as of March 2017.
- Fixed IRange.Autofit() for cases where columns are sparsely populated. Autofitting rows for a worksheet where only the last few rows are filled went from half an hour to 0.025 seconds.
- Fixed issues when reading X category axes when scatter and category type combination charts are combined on the same axis.
- Fixed formatted text to include trailing whitespace when rendering underlines and strikeouts.
- Fixed reading and writing workbooks with agile encryption to no longer create a copy of the entire workbook file in memory.
- Fixed autofilters to convert criteria containing a date to a number as Excel does.
- 8.0.53 Fixed an issue which caused certain complex formulas containing whitespace to return incorrect results. (Jun 22, 2017)
- 8.0.54 Fixed UNICODE and UNICHAR functions to work with UTF-32 code points > 65535. (Jun 22, 2017)
- 8.0.56 Fixed a problem which caused parsing of the EUROCONVERT function with 3 or 4 arguments to throw an exception. (Jun 30, 2017)
- 8.0.61 Fixed a problem which caused Excel to fail to read a workbook written by SpreadsheetGear which has conditional formats with both number formats and interior colors on the same criteria. (Jul 20, 2017)
- 8.0.61 Fixed a problem with IRange.Copy which occurred when used with PasteType.Values and fewer rows in the source range than the destination range. (Jul 20, 2017)
- 8.0.62 Fixed FormatConditionOperator.Between and FormatConditionOperator.NotBetween to work as Excel does when the first value is greater than the second value. (Aug 2, 2017)
- 8.0.63 Fixed an issue with HLOOKUP and VLOOKUP with the 'range_lookup' argument set to FALSE which sometimes caused precedent cells to not be calculated before being used. (Aug 10, 2017)
- 8.0.65 Implemented calculation performance improvements for certain workbooks which contain a large number of columns. (Sep 11, 2017)
- 8.0.66 Fixed IRange[string reference], IRange.Address and IRange.GetAddress to work with strings >= 64K in length and made improvements to IRange[string reference] performance in cases where the returned IRange has a high IRange.AreaCount. (Sep 26, 2017)
- 8.0.66 Fixed a problem which sometimes occurred when copying array formulas to other cells in the same column. (Sep 26, 2017)
- 8.0.66 Added support for copying from a partial array formula. (Sep 26, 2017)
- 8.0.66 Fixed clearing of cell contents to no longer throw an exception when clearing a data table without clearing the input rows and / or input columns. (Sep 26, 2017)
- 8.0.68 Fixed Calculation.SemiAutomatic mode to calculate data tables when F9 or CTRL+ALT+F9 is pressed and when IWorkbookSet.Calculate or IWorkbookSet.CalculateFull is invoked. (Oct 11, 2017)
- 8.0.68 Fixed problems which sometimes caused shapes to not be properly moved when cells are inserted or deleted. (Oct 11, 2017)
- 8.0.68 Fixed setting the contents of a cell to be more compatible with Excel 2016 when it updates the cell to use a new number format. (Oct 11, 2017)
- 8.0.69 Fixed hiding and showing of rows and columns to update IRange.ShowDetails as approprate. (Oct 24, 2017)
- 8.0.69 Fixed problems with the IFERROR and INDEX worksheet functions which occurred with certain very complex workbooks. (Oct 24, 2017)
- 8.0.73 Fixed problems with IRange.Find which occurred when finding on a worksheet with autofilters and hidden rows, when the specified 'after' argument references a cell in one of these hidden rows. (Oct 24, 2017)
- 8.0.73 Fixed an issue which caused shapes to fail to be moved and / or resized as needed when IRange.ShowLevels is used to show or hide rows or columns. (Oct 24, 2017)
- 8.0.75 Fixed issue where we were losing the tint and shade settings when reading chart and shape font colors from an Open XML workbook. (Nov 3, 2017)
- 8.1.1 Updated default font in a new workbook used with Japanese CultureInfo to be consistent with Excel 2016 (changed from "MS PGothic" to "Yu Gothic"). (Dec 13, 2017)
- 8.1.5 Fixed copying and pasting a cell formula with a reference to a worksheet specific defined name on another worksheet in the same workbook to work correctly. (Dec 16, 2017)
- 8.1.8 Fixed an issue which caused the copying of cells with multiple conditional format criteria to another worksheet to sometimes lose the order of the criteria. (Jan 16, 2018)
- 8.1.10 Moved various caches used by workbook calculations to a WeakReference so that they can be garbage collected when not in use. (Jan 18, 2018)
- 8.1.13 Fixed an issue which caused autofit row heights to sometimes not be up to date when Excel reads a SpreadsheetGear workbook. (Feb 9, 2018)
- 8.1.16 Fixed an issue which caused newer versions of Excel to read an incorrect default column width for some xls workbooks. (Feb 23, 2018)
- 8.1.16 Fixed the SHEET function to work with a sheet name passed in as text as Excel does. (Feb 23, 2018)
- 8.1.17 Fixed setting worksheet names to throw an exception if the new name ends with a ' as Excel does. (Mar 14, 2018)
- 8.1.18 Improved performance of IShapes.AddPicture for certain cases when done on a worksheet with row heights set to automatic. (Mar 21, 2018)
- 8.1.19 Fixed an issue which caused shape changes made in SpreadsheetGear to sometimes not be reflected in Excel when the original xls workbook had been written by Excel 2007 or later and the changes were saved to xls. (Apr 9, 2018)
- 8.1.21 Fixed a performance problem which happened for certain cases when setting a large number of cell values in cells which are not the last cell of the same type in that column. (Apr 18, 2018)
- 8.1.21 Fixed a problem with the way SpreadsheetGear reads charts with certain combinations of multiple value axes. (Apr 18, 2018)
- 8.1.24 Fixed an issue which caused IHyperlinks.Delete() to throw an exception. (Apr 30, 2018)
- 8.1.24 Fixed a very rare issue which caused SpreadsheetGear for .NET Standard to throw an exception or hang when multiple threads are opening workbooks, saving workbooks and / or autofitting rows and columns. (Apr 30, 2018)
- 8.1.25 Fixed an issue which caused SpreadsheetGear to write an invalid Open XML file if data validation uses ValidationType.Custom and the formula is a string constant. (Apr 30, 2018)
- 8.1.27 Fixed to read xls workbooks written by legacy versions of Excel which have unused supporting workbook records. (May 14, 2018)
- 8.1.27 Improved the performance of certain very complex workbooks which use the INDEX worksheet function. (May 14, 2018)
- 8.1.29 Fixed to read Open XML workbooks containing a chart series with greater than 65,535 cached data values. (May 22, 2018)
- 8.1.30 Fixed an issue which caused IRange[string] to incorrectly throw an exception in the case of a worksheet name which contained an argument separator character (comma for US English). (May 24, 2018)
- 8.1.31 Improved LINEST, LOGEST, GROWTH and TREND functions handling of near collinearity. (Jun 13, 2018)
- 8.1.32 Fixed copying of worksheets to copy the worksheet tab color. (Jul 6, 2018)
- 8.1.32 Added a work around for certain invalid .xls workbooks which were written by the Actuate Formula One spreadsheet component. (Jul 6, 2018)
- 8.1.33 Improved performance for some complex array formulas. (Jul 20, 2018)
- 8.1.33 Fixed IPane.ScrollColumn and ScrollRow to apply value in certain cases when they were ignored. Also fixed issue with these properties which could write out corrupt Excel workbooks. (Jul 20, 2018)
- 8.1.35 Fixed the exception error message used when trying to set an invalid font height. (Sep 1, 2018)
- 8.1.35 Fixed to allow a formula such as "=#REF!:INDEX(#REF!:B10,2)" as Excel does. (Sep 1, 2018)
- 8.1.35 Improved the IRR and XIRR functions to find better solutions more often and to do a better job of catching errors due to numeric overflow. (Sep 1, 2018)
- 8.1.35 Fixed a problem which caused data validation to sometimes incorrectly return false when the cell being validated is below the last data cell in a column and the data validation has the possibility of returning true for a blank cell. (Sep 1, 2018)
- 8.1.35 Fixed an issue which caused worksheets with multiple panes and a selection of A1 to sometimes not have the correct selection after the workbook is written to Open XML by SpreadsheetGear and opened by Excel. (Sep 1, 2018)
- 8.1.36 Fixed date parsing to allow parsing dates without spaces such as "01nov" and "nov2018" as Excel does. (Sep 1, 2018)
- 8.1.38 Fixed an issue in the rich text formatting API which caused the resulting format to sometimes be incorrect. (Sep 10, 2018)
- 8.1.40 Added a workaround to open certain Open XML workbooks which store the Ignorable attribute after an attribute which is to be ignored. (Sep 13, 2018)
- 8.1.41 Fixed an issue which caused SpreadsheetGear to lose the chart data label orientation value in certain cases. (Sep 27, 2018)
- 8.1.41 Fixed number formats such as "$?,???,???,??0" to include spaces for unneeded decimal separators. (Sep 27, 2018)
- 8.1.44 Fixed an issue which caused incorrect values to be copied in certain cases when multiple cells were copied within the same column and the destination range was larger than the source range. (Sep 27, 2018)
- 8.1.46 Fixed a number of problems in the FILTERXML function including convert a subset of ISO 8801 date / time values to a date / time serial number, use the invariant culture and honor the IWorkbook.Date1904 setting when parsing dates, times and numbers, parse "TRUE" and "FALSE" to logical values, correctly handle XPath attribute queries, remove leading and trailing whitespace unless xml:space="preserve" is specified. (Oct 7, 2018)
- 8.1.47 Fixed a problem which caused reading certain conditional formats from an Open XML workbook to throw an exception when the default CultureInfo did not use '.' for the decimal separator. (Oct 12, 2018)
- 8.1.50 Fixed a problem with the AGGREGATE worksheet function when used in a non array formula cell with a 3rd argument which requires array style evaluation. (Oct 17, 2018)
- 8.1.53 Fixed a problem reading and writing row formatting information from / to xls workbooks when the workbook has more than 4095 unique cell formats. (Oct 29, 2018)
- 8.1.57 Improved IRR and XIRR to find the root closer to the initial guess more often when there are multiple roots. (Nov 28, 2018)
- 8.1.58 Fixed an issue which caused formulas with multiple reference operators (Range, Intersection and / or Union operators) to sometimes be calculated incorrectly. (Dec 6, 2018)
- 8.1.59 Fixed a problem with the SUMIFS, AVERAGEIFS and COUNTIFS functions which occurred for certain cases where one of the criteria values was specified by a defined name whose formula used a function returning a cell reference such as OFFSET or INDEX. (Jan 19, 2019)
- 8.1.63 Fixed parsing of formulas to be limited to 256 levels of nesting for parentheses and 65 levels for functions as Excel does. (Mar 6, 2019)
- 8.2.7 Fixed a problem which caused SpreadsheetGear to write invalid Open XML workbooks if the compressed size of a zip stream is less than uint.MaxValue and the uncompressed size is greater than or equal to uint.MaxValue. (Mar 27, 2019)
- 8.2.7 Optimized some cases of formatting a large number of cells ending with the last row in a worksheet. (Mar 27, 2019)
- 8.2.9 Fixed an issue which caused invalid calculation results in some cases after copying formula cells where the formulas return logical values or errors. (Mar 30, 2019)
- 8.2.11 Fixed problems with the database functions (DSUM, DAVG, etc...) when they have formula criteria cells with database functions in the formulas. (Apr 8, 2019)
- 8.2.15 Added workaround for possibility of CultureInfo with missing number or date / time settings. (Apr 26, 2019)
- 8.3.1 Added IRange.IsDisposed, ISheet.IsDisposed, IWorkbook.IsDisposed, IWorkbookSet.IsDisposed and IShapeRange.IsDisposed properties. (May 7, 2019)
- 8.3.3 Fixed IRR to return an error instead of a rate which yields a relatively high NPV for certain cases which previously returned the rate. (May 24, 2019)
- 8.3.3 Improved sorting performance for certain large cases. (May 24, 2019)
- 8.3.8 Fixed an issue with IRange.Find which caused it to find cells in the wrong order on worksheets with autofilters for some cases with SearchOrder.ByColumns. (Aug 26, 2019)
- 8.3.10 Fixed an issue with CHOOSE which caused an exception to be thrown if the specified index is >= 2147483648.0. (Sep 23, 2019)
- 8.3.11 Improved numeric stability for IRR with a large numbers of values. (Sep 23, 2019)
- 8.3.12 Fixed IWorksheetWindowInfo SplitRows, SplitColumns, SplitHorizontal and SplitVertical properties to allow larger values as Excel does. (Oct 17, 2019)
- 8.3.12 Improved handling of IRR and XIRR for cases where the final accumulated rate is very small (close to -1) or very large. (Oct 17, 2019)
- 8.3.14 Changed reading Open XML workbooks to ignore chart data cache items with invalid index numbers instead of throwing an exception. (Oct 25, 2019)
- 8.3.20 Fixed an issue which sometimes caused exceptions when IWorkbookSet.CalculationOnDemand is changed from false to true after a workbook set has been calculated. (Dec 5, 2019)
- 8.3.20 Fixed an issue with adding defined names which sometimes caused a worksheet specific defined name to be incorrectly added instead of a global defined name. (Dec 5, 2019)
- 8.3.20 Fixed an issue with circular reference iteration not iterating on the first recalc when there are multiple independent circular reference paths. (Dec 5, 2019)
- 8.3.25 Fixed an issue which caused workbooks saved by SpreadsheetGear to .xls that contain shapes with background image fills to be opened by Excel in protected mode. (Dec 30, 2019)
- 8.3.27 Improved performance for certain cases with very large numbers of unique formulas. (Jan 14, 2020)
- 8.3.28 Fixed an issue which caused an exception to be thrown in some cases when the NUMFILE option of the INFO function is evaluated when a WorkbookView is attached to the workbook set. (Feb 3, 2020)
- 8.3.32 Fixed an issue which caused defined name comments to not be copied when copying across worksheets or workbooks. (Feb 3, 2020)
- 8.3.34 Fixed the CELL("width", ...) worksheet function to recalculate when column widths or column hidden state is changed, and improved it to return a value which is closer to the result returned from IRange.ColumnWidth. (Feb 20, 2020)
- 8.3.36 Fixed reading CSV and text files to put text with a leading '=' into cells as text if they cannot be parsed as valid formulas. (Mar 5, 2020)
- 8.3.39 Changed to ignore empty chart formula elements when reading Open XML. (Apr 15, 2020)
- 8.3.41 Fixed formatting of dates and times to format negative dates and times as Excel does when using the Date1904 date time format. (Jun 3, 2020)
- 8.4.3 Added workaround for customer workbook which has missing 'cellStyle' element in the styles part of an Open XML workbook. (Aug 20, 2020)
- 8.4.4 Fixed a problem where the INDEX function sometimes returned incorrect results in array formulas for cases where arguments to INDEX are missing. (Sep 18, 2020)
- 8.4.4 Fixed a problem with IFERROR which caused it to fail to recognize errors and therefore return an incorrect result in some cases involving array formulas. (Sep 18, 2020)
- 8.5.2 Fixed an issue which caused defined names to return #NAME! in certain complex workbooks. (Oct 26, 2020)
- 8.5.3 Fixed a bug with the FIXED function which caused it to return an incorrect result for some locales. (Nov 25, 2020)
- 8.5.5 Improved IRR to return better results with leading zeros in the specified values. (Dec 16, 2020)
- 8.5.6 Fixed an issue which caused AVERAGEIF to return an invalid error value leading to exceptions when the result is painted. (Jan 12, 2021)
- 8.5.7 Fixed a problem with sorting rows when there are multiple hyperlinks in each row or sorting columns when there are multiple hyperlinks in each column. (Feb 2, 2021)
- 8.5.8 Changed Factory.SetSignedLicense to no longer throw an exception if it is called more than once with the same license. (Feb 23, 2021)
- 8.5.9 Fix issues with Auto Filters not filtering correctly when cell color is default auto color. (Mar 22, 2021)
- 8.5.10 Fixed a problem which caused an exception to be thrown if there was leading or trailing whitespace around certain numbers in an Open XML document. (May 5, 2021)
- 8.5.12 Fixed an issue which caused bad xls files to be written when there is a reference to another workbook with a large number of worksheets. (May 5, 2021)
- 8.6.2 Fixed an issue which caused some Unicode characters to be lost when written to tab delimited text files. (May 26, 2021)
- 8.6.5 Fixed to read xls workbooks with formulas containing certain invalid external references, replacing the invalid reference with #N/A as Excel does. (Jul 22, 2021)
- 8.6.6 Added a workaround to allow reading certain .xls workbooks written by Excel 2019 with invalid workbook streams. (Aug 3, 2021)
- 8.6.7 Added a workaround to read Open XML workbooks with certain invalid cell formatting records. (Aug 3, 2021)
- 8.6.8 Fixed IFERROR to not return arrays in non-array-formula cells. (Sep 29, 2021)
- 8.6.10 Fix SUMIFS, COUNTIFS and AVERAGEIFS issue when there is a combination of one criteria with a logical operator (such as '">=1"') and another criteria with an array (such as '{ "a", "b", "c" }'). (Nov 12, 2021)
- 8.6.11 Fixed a problem which caused SpreadsheetGear to write an invalid Open XML document when writing a workbook with fractional numbers in conditional formats from a thread with a decimal separator other than '.'. (Nov 30, 2021)
- 8.6.11 Fixed an issue with COUNTIFS, SUMIFS and AVERAGEIFS which caused incorrect results when there are criteria with empty cells at the end of a column followed by more criteria columns which are not empty cells. (Nov 30, 2021)
- 8.7.10 Fixed an issue which caused an exception to be thrown when reading a shape object with a zero length text record with font runs from a .xls workbook. (Mar 21, 2022)
- 8.7.10 Fixed an issue which caused merged cells to sometimes be lost when inserting or deleting cells. (Mar 21, 2022)
- 8.7.12 Fixed to no longer allow formulas such as "=ABS(2+)" to be considered valid formulas. (Jun 20, 2022)
- 8.7.13 Fixed priority order issue when copying conditional formats from one worksheet to another. (Jun 26, 2022)
- 8.7.13 Added support for the deprecated built in Excel styles "Emphasis 1", "Emphasis 2" and "Emphasis 3". (Jun 26, 2022)
- 8.7.14 Fixed an issue which caused copying of column widths to sometimes give incorrect results. (Jul 21, 2022)
- 8.7.15 Fixed a problem which caused Excel to be unable to read certain very large workbooks. (Jul 23, 2022)
Recent Changes in Latest Hotfix
The latest hotfix (9.3.12.102) was released on September 16, 2024 and is a rollup of issues addressed since the last general availability release. Active subscribers of SpreadsheetGear can download this hotfix from the Licensed User Downloads page. Please see the below list for release notes relating to this latest hotfix, and refer further down on this page for an exhaustive list of release notes for all current and past versions.
- 9.3.1 Fixed an issue which caused SpreadsheetGear to crash if a data validation list starts with " ," (space followed by comma). (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to write the Biff8 THEME record to .xls workbooks so that recent versions of Excel do not change the default font to Aptos Narrow. (Aug 21, 2024)
- 9.3.1 Fixed an issue with opening Open XML workbooks for certain locales with locale-sensitive formulas in Form Control properties ListFillRange and LinkedCell. (Aug 21, 2024)
- 9.3.10 Fixed an issue which caused SpreadsheetGear to fail to read certain password protected Open XML workbooks if the workbook was created with an old version of Excel and then changed in a recent version of Excel. (Sep 16, 2024)
SpreadsheetGear 2023 for .NET Framework (V9)
New Features
- Support for reading and writing cell comments and form controls with Open XML (.xlsx and .xlsm) workbooks.
- Official support for Excel 2021 and the latest versions of Excel for Microsoft 365.
- Support for embedded pictures in print headers and footers.
- Support for standard and custom document properties.
-
Chart enhancements including:
- Support for embedding shapes within charts.
- Support for creating chart sheets.
- Added a number of IChartSheet properties and methods as well as the related IChartSheetWindowInfo and IChartSheetWindowInfos interfaces.
-
Shape enhancements for better compatibility with Excel including:
- Arrowheads and other markers on lines.
- Better support for radio button form controls.
- Support for grouping and ungrouping shapes.
- Support for autosizing of cell comments and text objects.
- Support for picture cropping including support for negative picture crop values.
-
Support for fine-grained worksheet protection options including:
- Select locked cells
- Select unlocked cells
- Format cells
- Format columns
- Format rows
- Insert columns
- Insert rows
- Insert hyperlinks
- Delete columns
- Delete rows
- Sort
- Use AutoFilter
- Edit objects
- Updated new workbook theme to more closely match recent versions of Excel.
- The SpreadsheetGear.Drawing.Image class supports setting the output DPI.
- Added support for Alt+Down key combination to display the data validation dropdown list control.
- Added an IWorksheet.Comments[...] collection that returns all cell comments for the specified worksheet.
Breaking Changes
- As part of adding the IWorksheet ProtectDrawingObjects and ProtectScenarios properties, setting IWorksheet.ProtectContents was changed to no longer have the effect of modifying these two properties.
- Changed the CHAR and CODE worksheet functions to use CultureInfo.TextInfo.ANSICodePage to convert to and from Unicode.
- Changed IWorksheets.Add to keep track of the last number used to automatically generate the name such as "Sheet1". This number is reset to 1 when a workbook is loaded which will lead to different behavior. The new IChartSheets.Add follows the same strategy with it's own next sheet number. This behavior is the same as Excel.
- Removed the deprecated LineStyle.Continous enumerated value. Please use LineStyle.Continuous instead.
- Changed IWorkbookSet.CalculateFullRebuild to no longer try to optimize memory usage and added new IWorkbookSet.GC method which does try to optimize memory usage.
- Changed the WEBSERVICE function to be disabled by default. To enable WEBSERVICE you must set IWorkbookSet.EnableWebService to true.
Issues Addressed
- Improved number parsing and formatting accuracy.
- Fixed an issue which caused a failure to fixup cell references in certain cases where multiple conditional format conditions apply to a cell and the criteria is a complex formula with relative references.
- Fixed number formatting to handle cases such as "a"General"b".
- Fixed to allow copying from a partial array formula range.
- Fixed WorkbookView.ContextMenu property to initialize the context menu before returning it in the property getter.
- Improved IRR to no longer favor values between the guess and zero over values closer to the guess.
- Fixed hiding and showing of rows and columns to update IRange.ShowDetails as needed.
- Fixed issue with changed formula cell in view area not rendering in some cases when scrolling.
- Fixed thousands separator parsing and formatting to consider '\u202F' as well as '\u00A0'.
- Fixed a performance issue which occurred when there are large numbers of defined names where many of these names refer to names which refer to names, etc...
- Fixed some painting issues when scrolling past ends of worksheet.
- Fixed various issues with Data Validation dropdown.
- Fixed a problem which caused an exception to be thrown if identical Unicode text longer than 127 characters is contained in more than 255 cells.
- Fixed a problem which caused reading of certain password protected Open XML workbooks to throw an exception.
- Fixed a case where we were trying to handle OnPaint when calling Control.Dispose while updating the screen after scrolling (another case of the OLE COM message pump issue).
- Fixed a NullReferenceException with cell validation when a modal dialog is displayed after clicking the mouse.
- Fixed a problem which sometimes occurred when copying array formulas to other cells in the same column.
- Fixed a problem with copying to the clipboard in some cases when auto-filters are applied and the source range has exactly one visible row.
- Fixed a problem with EOMONTH which caused it to return an incorrect result when used in a non-array cell formula with arguments including a MATCH function with an array constant for the 'lookup_array' argument.
- Fixed a problem with IRange.Copy which occurred when used with PasteType.Values and fewer rows in the source range than the destination range.
- Fixed a variety of issues with print black and white.
- Fixed an issue which caused a null reference exception to be thrown when copying a worksheet which contains worksheet specific defined names which contain circular references.
- Fixed an issue which caused an exception to be thrown in certain cases when pasting cell formulas which reference worksheet scoped defined names on a worksheet in another workbook.
- Fixed an issue which caused certain complex conditional formats to not repaint after a workbook set is calculated.
- Fixed an issue which caused LINEST, LOGEST, GROWTH and TREND to sometimes return inconsistent results if the number of columns in 'known_xs' is greater than the number of rows in 'known_ys'.
- Fixed an issue which caused LINEST, LOGEST, GROWTH and TREND to fail to remove colinear columns in certain cases when there are multiple colinear columns.
- Fixed an issue which caused conditional formats to sometimes not be rendered correctly when they are scrolled into view.
- Fixed an issue which caused exceptions to be thrown in cases where multiple unused WorkbookView controls are reclaimed by the garbage collector at one time without having had Dispose called on them.
- Fixed cases where adding a merged cell incorrectly enlarges the current selected range even if the selection contains entire rows or entire columns.
- Fixed column width issue which caused large column widths to be truncated with smaller than normal default workbook fonts.
- Fixed data validation listboxes to ignore blank entries in criteria specified by hard coded comma separated lists.
- Fixed dropdown listboxes to work with a single cell reference for the linked range.
- Fixed hyperlinks to handle square braces such as [address]subaddress.
- Fixed IFERROR problems with certain complex formulas.
- Fixed issue with number formatting and precision as displayed where format == "# ?/?%" and the value is 9E21.
- Fixed issues with Hyperlink linked to external workbook reference.
- Fixed parsing formatted numbers which are both fractions and percent.
- Fixed Outline expanders to work more like Excel when rows or columns are hidden within a grouped range.
- Fixed saving of merged cells extending beyond IV65536 to xls workbooks to maintain the partial merged cell as Excel does.
- Fixed to be able to read workbooks with table references containing double quotes.
- Fixed worksheet and chartsheet numbering for new sheets to work like Excel. They each keep their own next sheet number and that number gets reset to 1 when a workbook is opened.
- Fixed various issues with data validation listbox not refreshing location when changing selection.
- Fixed writing column widths to xls when width is > UInt16.MaxValue.
- Fixed various issues with TextBox editing on charts and chart sheets.
- Fixed WorkbookView OnPaint exception in Windows Forms when closing Workbook Designer with two child workbooks each containing a form control.
- Improved performance of merging large ranges of cells.
- 9.2.11 Fixed CommandManager(IWorkbookSet) constructor to work with no WorkbookView attached to the workbook set. (Oct 12, 2023)
- 9.2.12 Fixed INames.Add to throw an exception if 'formula' is text (not a formula with leading '=') longer than 255 characters as Excel does. (Oct 18, 2023)
- 9.2.12 Fixed issues with OR, AND and XOR functions which caused them to return incorrect results in certain cases involving 0.0 and / or certain text values. (Oct 18, 2023)
- 9.2.13 Added a work around to read workbooks written by certain 3rd party software with invalid VML. (Nov 1, 2023)
- 9.2.14 Fixed copying conditional formats to fixup formulas in Extended Criteria. (Nov 4, 2023)
- 9.2.14 Fixed an issue which caused worksheet corruption and various exceptions when copying formulas containing text to certain types of destinations. (Nov 4, 2023)
- 9.2.14 Fixed issues with SpreadsheetGear for Windows text layout when only single partial characters are viewable. (Nov 4, 2023)
- 9.2.17 Fixed an issue which caused SpreadsheetGear2023.Core.dll to fail to load a drawing assembly in certain cases. (Nov 4, 2023)
- 9.2.20 Fixed adding cell comments to position the comments within visible rows and columns. (Nov 9, 2023)
- 9.2.21 Fixed an issue which caused SUMIF and COUNTIF to sometimes return incorrect results if the first argument only has one row. (Nov 10, 2023)
- 9.2.21 Fixed issues with data validation listbox when used on cells near or at end of worksheet. (Nov 10, 2023)
- 9.2.22 Fixed an issue which caused Hyperlinks in cells to display incorrectly in certain cases. (Nov 13, 2023)
- 9.2.23 Fixed an issue which caused CHOOSE to sometimes return an incorrect result when used in an array formula. (Nov 17, 2023)
- 9.2.23 Fixed an issue which caused the cell comment editor default position to be incorrect in some cases involving frozen panes. (Nov 17, 2023)
- 9.2.23 Fixed problems which sometimes occurred when sorting formulas which contained text results or a result of zero. (Nov 17, 2023)
- 9.2.25 Fixed editing shapes, charts, text boxes and cell comments to work when they span frozen or split panes. (Dec 19, 2023)
- 9.2.25 Fixed issues with cell comment popup and arrow disappearing when editing shapes. (Dec 19, 2023)
- 9.2.26 Fixed HLOOKUP and VLOOKUP to round up col_index_num and row_index_num when they are very close to the next index. (Dec 19, 2023)
- 9.2.27 Improved cell comments to scroll them into view when switching into edit mode. (Jan 31, 2024)
- 9.2.27 Fixed an issue which caused cells being cut to temporarily be locked when a RangeChanged event is called. (Jan 31, 2024)
- 9.2.27 Workaround for 3rd-Party file with missing shape cluster ID's in VML part. (Jan 31, 2024)
- 9.2.27 Fixed cases where the SpreadsheetGear UI displayed "One or more errors occurred." instead of a more specific error message. (Jan 31, 2024)
- 9.2.28 Fixed display issues with Windows Forms FormulaBar when hosted in a TabControl. (Feb 15, 2024)
- 9.2.29 Fixed an issue which caused SpreadsheetGear to hang when parsing numbers like "0.00000000000000000000000" for entry into a cell. (Mar 13, 2024)
- 9.2.32 Added workaround for workbook which contains a theme with a missing font name. (Mar 13, 2024)
- 9.2.50 Fixed copying of a worksheet to another workbook with ISheet.CopyBefore or ISheet.CopyAfter to no longer add " (2)" to the new worksheet name if the worksheet name is unique in the destination workbook. (May 7, 2024)
- 9.2.50 Fixed formatting borders to work correctly when formatted cells are unlocked, adjoining cells are locked and the worksheet is protected. (May 7, 2024)
- 9.2.50 Save IWorksheet.ProtectContents and ProtectScenarios for UI when unprotecting. (May 7, 2024)
- 9.2.53 Fixed issues with WPF WorkbookView no longer receiving key events after using certain SpreadsheetGear for Windows Forms dialog boxes. (May 14, 2024)
- 9.2.54 Fixed ADDRESS function to append "!" if an empty worksheet name is supplied. (Jun 25, 2024)
- 9.2.54 Fixed INDEX to round up row, column and area indexes which are only slightly less than the next integer. (Jun 25, 2024)
- 9.2.54 Fixed an issue which caused IF to fail to iterate arrays for the 3rd argument if the 2nd argument returns an error. (Jun 25, 2024)
- 9.2.54 Fixed SEARCH function to return a result for cases such as =SEARCH("a*", "a") as Excel does. (Jun 25, 2024)
- 9.2.56 Fixed ADDRESS function to round up row and column indexes which are only slightly less than the next integer. (Jun 29, 2024)
- 9.2.56 Fixed an issue which caused incorrect results for certain array formulas such as "=A1:A2*{1,2}". (Jun 29, 2024)
- 9.2.56 Fixed an issue which caused certain worksheet functions which expect a range to return the wrong result when used in an array formula. (Jun 29, 2024)
- 9.3.1 Fixed an issue which caused SpreadsheetGear to crash if a data validation list starts with " ," (space followed by comma). (Aug 21, 2024)
- 9.3.1 Fixed SpreadsheetGear to write the Biff8 THEME record to .xls workbooks so that recent versions of Excel do not change the default font to Aptos Narrow. (Aug 21, 2024)
- 9.3.1 Fixed an issue with opening Open XML workbooks for certain locales with locale-sensitive formulas in Form Control properties ListFillRange and LinkedCell. (Aug 21, 2024)
- 9.3.10 Fixed an issue which caused SpreadsheetGear to fail to read certain password protected Open XML workbooks if the workbook was created with an old version of Excel and then changed in a recent version of Excel. (Sep 16, 2024)
SpreadsheetGear 2017 for .NET Framework (V8)
New Features
- Official support for Excel 2013 and Excel 2016.
-
Support for 50 new Excel 2013 functions as well as the Excel 2010 AGGREGATE function:
- ACOT
- ACOTH
- AGGREGATE
- ARABIC
- BASE
- BINOM.DIST.RANGE
- BITAND
- BITLSHIFT
- BITOR
- BITRSHIFT
- BITXOR
- CEILING.MATH
- COMBINA
- COT
- COTH
- CSC
- CSCH
- DAYS
- DECIMAL
- ENCODEURL
- FILTERXML
- FLOOR.MATH
- GAMMA
- GAUSS
- IFNA
- IMCOSH
- IMCOT
- IMCSC
- IMCSCH
- IMSEC
- IMSECH
- IMSINH
- IMTAN
- ISFORMULA
- ISO.CEILING
- ISOWEEKNUM
- MUNIT
- NUMBERVALUE
- PDURATION
- PERMUTATIONA
- PHI
- RRI
- SEC
- SECH
- SHEET
- SHEETS
- SKEW.P
- UNICHAR
- UNICODE
- WEBSERVICE
- XOR
-
Excel 2016 compatible conditional formatting including:
- Icon Sets
- Data Bars
- Color Scales
- Highlight Cells
- Top n / Bottom n Rules
- More than 3 Rules per cell
- Advanced Rules
- Overlapping Rules
- Autofilter by font color, cell color and conditional format icon.
- Support for reading, writing, modifying and rendering gradient cell backgrounds as well as API support with the IRange.Interior.Gradient and IRange.Interior.Pattern properties.
- Support for reading and writing encrypted workbooks with the new Agile Encryption used by Excel 2013 and later including default SHA-512 encryption for workbooks.
- Support for new Excel 2013 and later workbook structure and worksheet protection passwords.
- SpreadsheetGear for .NET Standard for Windows Nano Server 2016 support) including support for .NET Framework 4.7.
- Visual Studio 2017 support including Windows Forms and WPF control toolbox integration, IntelliSense and Microsoft Help Viewer 2.3 integration.
- Added IWorkbookSet.WithLock(Action) and WorkbookView.WithLock(Action) methods to simplify GetLock...try...finally...ReleaseLock sequences (not included in the .NET Framework 2.0 assembly).
- Enabled multi-threaded recalc for array formulas and worksheet functions which evaluate as arrays (including functions such as SUMPRODUCT).
- Improved the performance of copying formulas with 3d cell references, 3d name references and / or addin function references.
- Improved the performance of a number of worksheet functions.
- Improved the performance of parsing formulas with 3d references which refer to a workbook with a large number of worksheets. This yielded a dramatic performance improvement when reading Open XML workbooks with a significant number of such references.
- Added support for smooth line rendering in charts for the WPF and Silverlight WorkbookView controls.
- New workbooks now use Excel 2016 theme.
- 8.1.1.100 Improve the performance of workbooks with large numbers of merged cells. (Dec 13, 2017)
- 8.1.1.100 Improve IRange.Copy performance for certain cases of copying a multiple row range to a range with more rows than the source. (Dec 13, 2017)
- 8.1.1.100 Improve performance of adding a large number of worksheet specific defined names using INames.Add. (Dec 13, 2017)
- 8.1.1.100 Increase support for unique text cells from approximately 2GB of text to approximately 30GB of text. (Dec 13, 2017)
Breaking Changes
- Moved redundant SpreadsheetGear.Windows.Forms.RangeLocationFlags and SpreadsheetGear.Windows.Controls.RangeLocationFlags to SpreadsheetGear.Controls.RangeLocationFlags.
Issues Addressed
- Added a number of workarounds to enable the reading of Open XML workbooks which are technically illegal but which Excel allows.
- Fixed a significant number of worksheet functions to catch up with improvements made to Excel in recent years. This work was validated against Excel 2016.
- Fixed a number of pre-existing worksheet function bugs found while validating against Excel 2016. These were generally obscure bugs having to do with special cases such as combinations of functions when used in array formulas (this is one of the more common of many examples).
- Fixed a problem which caused a number of functions to be saved incorrectly so that Excel would treat these functions as user defined functions rather than built in functions. This happened only with functions which were added in Excel 2010 or later. SpreadsheetGear now properly parses and saves all worksheet functions included in Excel 2016 as of March 2017.
- Fixed IRange.Autofit() for cases where columns are sparsely populated. Autofitting rows for a worksheet where only the last few rows are filled went from half an hour to 0.025 seconds.
- Fixed issues when reading X category axes when scatter and category type combination charts are combined on the same axis.
- Fixed an issue which caused a crash after renaming a workbook or sheet when using WorkbookView.DisplayReference. This problem occurred whether changing the workbook name when saving the workbook or changing the workbook or sheet name with the API.
- Fixed issues with chart data label layout on bar and column charts when the data values are very small compared to the axis min to max value range.
- Fixed formatted text to include trailing whitespace when rendering underlines and strikeouts.
- Fixed issues with WPF WorkbookView layout and rendering of vertically oriented rich text.
- Fixed reading and writing workbooks with agile encryption to no longer create a copy of the entire workbook file in memory.
- Fixed autofilters to convert criteria containing a date to a number as Excel does.
- 8.0.53.100 Fixed an issue which caused certain complex formulas containing whitespace to return incorrect results. (Jun 22, 2017)
- 8.0.54.100 Fixed problems with layout and rendering of merged cells when merged cells are no longer on screen. (Jun 22, 2017)
- 8.0.54.100 Fixed UNICODE and UNICHAR functions to work with UTF-32 code points > 65535. (Jun 22, 2017)
- 8.0.55.100 Fixed an issue which caused scrolling to fail to render correctly in some cases when WorkbookView.RangeToLocation is called from a WorkbookView.ScrollPositionChanged event handler. (Jun 26, 2017)
- 8.0.56.100 Fixed a problem which caused parsing of the EUROCONVERT function with 3 or 4 arguments to throw an exception. (Jun 30, 2017)
- 8.0.56.100 Fixed an issue which caused the SHEETS function to throw an exception when a WorkbookView was attached to the workbook set containing the function. (Jun 30, 2017)
- 8.0.57.100 Fixed to no longer clear the redo stack when executing ignored commands. (Jul 13, 2017)
- 8.0.57.100 Fixed performance issues with autofilter dropdown buttons always being created even when they are not in the viewable area. (Jul 13, 2017)
- 8.0.57.100 Fixed mouse problems with Outline grouping buttons when using split or frozen panes. (Jul 13, 2017)
- 8.0.61.100 Fixed issues with WorkbookView.LocationToRange APIs when used with frozen or split rows and / or columns. (Jul 20, 2017)
- 8.0.61.100 Fixed a problem which caused Excel to fail to read a workbook written by SpreadsheetGear which has conditional formats with both number formats and interior colors on the same criteria. (Jul 20, 2017)
- 8.0.61.100 Fixed a problem with IRange.Copy which occurred when used with PasteType.Values and fewer rows in the source range than the destination range. (Jul 20, 2017)
- 8.0.61.100 Changed the WorkbookView.ScrollPositionChanged event to fire after the WorkbookView is finished scrolling and updating internal state so that APIs can be used safely from the event handler. (Jul 20, 2017)
- 8.0.61.100 Fixed a problem with copying to the clipboard in some cases when autofilters are applied and the source range has exactly one visible row. (Jul 20, 2017)
- 8.0.62.100 Fixed shapes to render when width or height of shape is zero. (Aug 2, 2017)
- 8.0.62.100 Fixed FormatConditionOperator.Between and FormatConditionOperator.NotBetween to work as Excel does when the first value is greater than the second value. (Aug 2, 2017)
- 8.0.63.100 Fixed an issue with HLOOKUP and VLOOKUP with the 'range_lookup' argument set to FALSE which sometimes caused precedent cells to not be calculated before being used. (Aug 10, 2017)
- 8.0.64.100 Fixed problems which occurred when using frozen panes when a WorkbookView is contained in a SplitContainer. (Aug 28, 2017)
- 8.0.64.100 Fixed an issue which caused a NullReferenceException to be thrown when cell validation displays a message in a modal dialog after clicking the mouse to change the currently selected cell. (Aug 28, 2017)
- 8.0.64.100 Fixed problems which caused overridden methods in subclasses of CommandManager and Command to sometimes not be called. (Aug 28, 2017)
- 8.0.64.100 Fixed the FormulaBar, in-cell editor and the IRange.Entry property to provide editable text like Excel 2016 for cells formatted as a date and / or time. (Aug 28, 2017)
- 8.0.64.100 Fixed issues which occurred in some cases when editing formulas and pointing at cell references across multiple workbooks from the FormulaBar control. (Aug 28, 2017)
- 8.0.65.102 Fixed rendering problems with conditional formats when the cell interior uses a fill color and the conditional format color and / or pattern color are transparent. (Sep 11, 2017)
- 8.0.65.102 Implemented calculation performance improvements for certain workbooks which contain a large number of columns. (Sep 11, 2017)
- 8.0.66.100 Fixed IRange[string reference], IRange.Address and IRange.GetAddress to work with strings >= 64K in length and made improvements to IRange[string reference] performance in cases where the returned IRange has a high IRange.AreaCount. (Sep 26, 2017)
- 8.0.66.100 Fixed a problem which sometimes occurred when copying array formulas to other cells in the same column. (Sep 26, 2017)
- 8.0.66.100 Fixed an issue where scrollbar values were being set incorrectly based on the last sheet tab. (Sep 26, 2017)
- 8.0.66.100 Added support for copying from a partial array formula. (Sep 26, 2017)
- 8.0.66.100 Fixed clearing of cell contents to no longer throw an exception when clearing a data table without clearing the input rows and / or input columns. (Sep 26, 2017)
- 8.0.66.100 Fixed an issue which caused exceptions to occur in certain cases with the Windows Forms WorkbookView and a combination of UI thread and background thread tasks which use the WorkbookView. (Sep 26, 2017)
- 8.0.66.100 Fixed WorkbookView.RewindLock to work correctly. (Sep 26, 2017)
- 8.0.68.100 Fixed a rendering issue which occurred when resizing rows or columns when using split panes. (Oct 11, 2017)
- 8.0.68.100 Fixed Calculation.SemiAutomatic mode to calculate data tables when F9 or CTRL+ALT+F9 is pressed and when IWorkbookSet.Calculate or IWorkbookSet.CalculateFull is invoked. (Oct 11, 2017)
- 8.0.68.100 Fixed problems which sometimes caused shapes to not be properly moved when cells are inserted or deleted. (Oct 11, 2017)
- 8.0.68.100 Fixed setting the contents of a cell to be more compatible with Excel 2016 when it updates the cell to use a new number format. (Oct 11, 2017)
- 8.0.68.100 Fixed rendering issues which caused some merged cells to fail to update when the result of a formula in that cell changes. (Oct 11, 2017)
- 8.0.69.100 Fixed hiding and showing of rows and columns to update IRange.ShowDetails as approprate. (Oct 24, 2017)
- 8.0.69.100 Fixed problems with the IFERROR and INDEX worksheet functions which occurred with certain very complex workbooks. (Oct 24, 2017)
- 8.0.73.100 Fixed problems with IRange.Find which occurred when finding on a worksheet with autofilters and hidden rows, when the specified 'after' argument references a cell in one of these hidden rows. (Oct 24, 2017)
- 8.0.73.100 Fixed an issue which caused shapes to fail to be moved and / or resized as needed when IRange.ShowLevels is used to show or hide rows or columns. (Oct 24, 2017)
- 8.0.75.100 Fixed an issue which caused the right or bottom cell border to fail to paint when the last column or row in the displayed range is hidden and there is extra display space beyond the last cell. (Nov 3, 2017)
- 8.0.75.100 Fixed issue where we were losing the tint and shade settings when reading chart and shape font colors from an Open XML workbook. (Nov 3, 2017)
- 8.0.75.100 Fixed an issue which caused exceptions to be thrown in cases where multiple unreferenced WorkbookView controls are reclaimed by the garbage collector at one time without having had Dispose called on them. (Nov 3, 2017)
- 8.0.75.100 Fixed a problem in the Formula Bar which caused the name box to fail to update after selecting ranges with the keyboard while hodling down the Shift key. (Nov 3, 2017)
- 8.1.1.100 Fixed an issue which caused shapes to fail to render in certain cases. (Dec 13, 2017)
- 8.1.1.100 Updated default font in a new workbook used with Japanese CultureInfo to be consistent with Excel 2016 (changed from "MS PGothic" to "Yu Gothic"). (Dec 13, 2017)
- 8.1.1.100 Fixed a rendering issue which caused text to be painted over itself multiple times causing the text to get darker each time in certain complex rendering cases. (Dec 13, 2017)
- 8.1.1.100 Fixed conditional formats to ignore interior pattern styles of None as Excel does. (Dec 13, 2017)
- 8.1.1.100 Fixed border rendering to take into account the luminosity of red, green and blue when choosing darker borders over lighter borders as Excel does. (Dec 13, 2017)
- 8.1.2.100 Fixed an issue which caused conditional formats to fail to render correctly in certain cases when cells are scrolled into view. (Dec 13, 2017)
- 8.1.2.100 Fixed an issue which caused an exception to be thrown in certain cases when pasting cell formulas which reference worksheet scoped defined names on a worksheet in another workbook. (Dec 13, 2017)
- 8.1.5.100 Add WorkbookView.ContextMenu property to Windows Forms and WPF WorkbookView controls which initializes the context menu before returning it. (Dec 16, 2017)
- 8.1.5.100 Fixed copying and pasting a cell formula with a reference to a worksheet specific defined name on another worksheet in the same workbook to work correctly. (Dec 16, 2017)
- 8.1.8.100 Fixed an issue which caused the copying of cells with multiple conditional format criteria to another worksheet to sometimes lose the order of the criteria. (Jan 16, 2018)
- 8.1.10.100 Moved various caches used by workbook calculations to a WeakReference so that they can be garbage collected when not in use. (Jan 18, 2018)
- 8.1.13.100 Fixed an issue which caused autofit row heights to sometimes not be up to date when Excel reads a SpreadsheetGear workbook. (Feb 9, 2018)
- 8.1.16.100 Fixed an issue which caused newer versions of Excel to read an incorrect default column width for some xls workbooks. (Feb 23, 2018)
- 8.1.16.100 Fixed the SHEET function to work with a sheet name passed in as text as Excel does. (Feb 23, 2018)
- 8.1.17.100 Fixed setting worksheet names to throw an exception if the new name ends with a ' as Excel does. (Mar 14, 2018)
- 8.1.18.100 Improved performance of IShapes.AddPicture for certain cases when done on a worksheet with row heights set to automatic. (Mar 21, 2018)
- 8.1.19.100 Fixed an issue which caused shape changes made in SpreadsheetGear to sometimes not be reflected in Excel when the original xls workbook had been written by Excel 2007 or later and the changes were saved to xls. (Apr 9, 2018)
- 8.1.19.100 Fixed NullReferenceException which occurred when editing formulas across multiple sheets and going back to the original editing sheet and entering the formula with the Enter key. (Apr 9, 2018)
- 8.1.21.100 Fixed a performance problem which happened for certain cases when setting a large number of cell values in cells which are not the last cell of the same type in that column. (Apr 18, 2018)
- 8.1.21.100 Changed WorkbookView sheet tabs for "ja-JP" CultureInfo users to use the "Tahoma" font instead of the "Yu Gothic" font. (Apr 18, 2018)
- 8.1.21.100 Fixed a problem with the way SpreadsheetGear reads charts with certain combinations of multiple value axes. (Apr 18, 2018)
- 8.1.22.100 Fixed an issue which caused the WorkbookView to throw an exception when all non-hidden rows or columns are scrolled off the screen and then the mouse is moved over the column or row headers. (Apr 30, 2018)
- 8.1.24.100 Fixed an issue which caused IHyperlinks.Delete() to throw an exception. (Apr 30, 2018)
- 8.1.25.100 Fixed an issue which caused SpreadsheetGear to write an invalid Open XML file if data validation uses ValidationType.Custom and the formula is a string constant. (Apr 30, 2018)
- 8.1.25.100 Fixed WPF printing to do a better job of printing thick cell borders at the edges of the printed areas. (Apr 30, 2018)
- 8.1.25.100 Fixed a problem with WPF column print titles with text which overflowed to cells to the right. (Apr 30, 2018)
- 8.1.25.100 Improved the layout of print title rows and print title columns to better match the way Excel prints them. (Apr 30, 2018)
- 8.1.27.100 Fixed to read xls workbooks written by legacy versions of Excel which have unused supporting workbook records. (May 14, 2018)
- 8.1.27.100 Improved the performance of certain very complex workbooks which use the INDEX worksheet function. (May 14, 2018)
- 8.1.29.100 Fixed to read Open XML workbooks containing a chart series with greater than 65,535 cached data values. (May 22, 2018)
- 8.1.30.100 Fixed an issue which caused IRange[string] to incorrectly throw an exception in the case of a worksheet name which contained an argument separator character (comma for US English). (May 24, 2018)
- 8.1.31.100 Fixed issues with mouse wheel scrolling both the worksheet and the form control that it's hovering over. (Jun 13, 2018)
- 8.1.31.100 Improved LINEST, LOGEST, GROWTH and TREND functions handling of near collinearity. (Jun 13, 2018)
- 8.1.32.100 Fixed copying of worksheets to copy the worksheet tab color. (Jul 6, 2018)
- 8.1.32.100 Added a work around for certain invalid .xls workbooks which were written by the Actuate Formula One spreadsheet component. (Jul 6, 2018)
- 8.1.33.100 Added workaround to avoid GDI+ exceptions when encountering unsupported characters such as the Zero-Width Joiner (ZWJ). (Jul 20, 2018)
- 8.1.33.100 Improved performance for some complex array formulas. (Jul 20, 2018)
- 8.1.33.100 Fixed IPane.ScrollColumn and ScrollRow to apply value in certain cases when they were ignored. Also fixed issue with these properties which could write out corrupt Excel workbooks. (Jul 20, 2018)
- 8.1.35.100 Fixed the exception error message used when trying to set an invalid font height. (Sep 1, 2018)
- 8.1.35.100 Fixed to allow a formula such as "=#REF!:INDEX(#REF!:B10,2)" as Excel does. (Sep 1, 2018)
- 8.1.35.100 Fixed issue where adjoining cell borders that use different shade of the same Theme Color would not always render correctly. (Sep 1, 2018)
- 8.1.35.100 Improved the IRR and XIRR functions to find better solutions more often and to do a better job of catching errors due to numeric overflow. (Sep 1, 2018)
- 8.1.35.100 Fixed a problem which caused data validation to sometimes incorrectly return false when the cell being validated is below the last data cell in a column and the data validation has the possibility of returning true for a blank cell. (Sep 1, 2018)
- 8.1.35.100 Fixed an issue which caused worksheets with multiple panes and a selection of A1 to sometimes not have the correct selection after the workbook is written to Open XML by SpreadsheetGear and opened by Excel. (Sep 1, 2018)
- 8.1.36.100 Fixed date parsing to allow parsing dates without spaces such as "01nov" and "nov2018" as Excel does. (Sep 1, 2018)
- 8.1.37.100 Fixed an issue which caused SpreadsheetGear.Drawing.Image.Draw(Graphics, Rectangle) to draw in the wrong location if the specified x or y value was not 0. (Sep 10, 2018)
- 8.1.38.100 Fixed an issue in the rich text formatting API which caused the resulting format to sometimes be incorrect. (Sep 10, 2018)
- 8.1.40.100 Added a workaround to open certain Open XML workbooks which store the Ignorable attribute after an attribute which is to be ignored. (Sep 13, 2018)
- 8.1.41.100 Fixed an issue which caused SpreadsheetGear to lose the chart data label orientation value in certain cases. (Sep 27, 2018)
- 8.1.41.100 Fixed number formats such as "$?,???,???,??0" to include spaces for unneeded decimal separators. (Sep 27, 2018)
- 8.1.44.100 Fixed an issue which caused incorrect values to be copied in certain cases when multiple cells were copied within the same column and the destination range was larger than the source range. (Sep 27, 2018)
- 8.1.44.100 Fixed an issue which caused pointing at cell references when editing formulas with split panes to scroll to the wrong location in some cases. (Sep 27, 2018)
- 8.1.46.100 Fixed a number of problems in the FILTERXML function including convert a subset of ISO 8801 date / time values to a date / time serial number, use the invariant culture and honor the IWorkbook.Date1904 setting when parsing dates, times and numbers, parse "TRUE" and "FALSE" to logical values, correctly handle XPath attribute queries, remove leading and trailing whitespace unless xml:space="preserve" is specified. (Oct 7, 2018)
- 8.1.47.100 Fixed a problem which caused reading certain conditional formats from an Open XML workbook to throw an exception when the default CultureInfo did not use '.' for the decimal separator. (Oct 12, 2018)
- 8.1.50.100 Fixed a problem with the AGGREGATE worksheet function when used in a non array formula cell with a 3rd argument which requires array style evaluation. (Oct 17, 2018)
- 8.1.53.100 Fixed a problem reading and writing row formatting information from / to xls workbooks when the workbook has more than 4095 unique cell formats. (Oct 29, 2018)
- 8.1.57.100 Improved IRR and XIRR to find the root closer to the initial guess more often when there are multiple roots. (Nov 28, 2018)
- 8.1.58.100 Fixed a problem which could cause an exception to be thrown when a WorkbookView event handler (such as for ShapeAction) causes the WorkbookView to be disposed. (Dec 6, 2018)
- 8.1.58.100 Fixed an issue which caused formulas with multiple reference operators (Range, Intersection and / or Union operators) to sometimes be calculated incorrectly. (Dec 6, 2018)
- 8.1.59.100 Fixed a problem with the SUMIFS, AVERAGEIFS and COUNTIFS functions which occurred for certain cases where one of the criteria values was specified by a defined name whose formula used a function returning a cell reference such as OFFSET or INDEX. (Jan 19, 2019)
- 8.1.60.100 Fixed an issue which caused the Workbook Designer to crash when executing the File -> Close menu item with the CTRL+W quick key when no workbooks are open. (Feb 12, 2019)
- 8.1.60.100 Fixed an issue which caused a NullReferenceException if an instance of SpreadsheetGear.Windows.Controls.CommandPrint is executed when the there is not a WPF WorkbookView currently set as the active WorkbookView. (Feb 12, 2019)
- 8.1.61.100 Fixed an issue in the WPF WorkbookView control where the first instance of an underscore character in text for AutoFilter items, Buttons form controls and CheckBox form controls was being stripped. (Feb 18, 2019)
- 8.1.63.100 Fixed parsing of formulas to be limited to 256 levels of nesting for parentheses and 65 levels for functions as Excel does. (Mar 6, 2019)
- 8.2.6.100 Fixed an exception which occurred when moving the mouse over a WorkbookView with certain combinations of split panes and hidden rows or columns. (Mar 6, 2019)
- 8.2.7.100 Fixed a problem which caused SpreadsheetGear to write invalid Open XML workbooks if the compressed size of a zip stream is less than uint.MaxValue and the uncompressed size is greater than or equal to uint.MaxValue. (Mar 27, 2019)
- 8.2.7.100 Optimized some cases of formatting a large number of cells ending with the last row in a worksheet. (Mar 27, 2019)
- 8.2.9.100 Fixed an issue which caused invalid calculation results in some cases after copying formula cells where the formulas return logical values or errors. (Mar 30, 2019)
- 8.2.11.100 Fixed problems with the database functions (DSUM, DAVG, etc...) when they have formula criteria cells with database functions in the formulas. (Apr 8, 2019)
- 8.2.11.100 Fixed a rare problem which could cause a WorkbookView not to update after changes were made to a workbook. (Apr 8, 2019)
- 8.2.11.100 Fixed an issue which caused an exception to be thrown in some cases when modifying a text cell while a WorkbookView is attached. (Apr 8, 2019)
- 8.2.14.100 Fixed some cases related to Windows COM STI Message Pumping of WM_PAINT events at unexpected times. (Apr 18, 2019)
- 8.2.14.100 Fixed an exception which happened with some APIs when a workbook set is attached to a Windows Forms WorkbookView which has not been displayed. (Apr 18, 2019)
- 8.2.15.100 Added workaround for possibility of CultureInfo with missing number or date / time settings. (Apr 26, 2019)
- 8.3.1.100 Added IRange.IsDisposed, ISheet.IsDisposed, IWorkbook.IsDisposed, IWorkbookSet.IsDisposed and IShapeRange.IsDisposed properties. (May 7, 2019)
- 8.3.1.100 Changed WorkbookView events to no longer fire if the associated EventArgs has a reference to a disposed IRange, ISheet, IWorkbook, IWorkbookSet, IShape or IShapeRange. (May 7, 2019)
- 8.3.1.100 Changed firing of WorkbookView events to catch and silently discard all exceptions thrown by event handlers to make the WorkbookView more resilient to problems with event handlers. (May 7, 2019)
- 8.3.2.100 Fixed an issue which could cause a workbook set to get into a state where WorkbookView controls would not be updated after changes to the workbook set on a background thread - including changes due to background calculation. This would only occur in cases with multiple WorkbookViews after one of the WorkbookViews was disposed. (May 7, 2019)
- 8.3.3.100 Fixed IRR to return an error instead of a rate which yields a relatively high NPV for certain cases which previously returned the rate. (May 24, 2019)
- 8.3.3.100 Improved sorting performance for certain large cases. (May 24, 2019)
- 8.3.4.100 Fixed an issue which caused the display of data validation listboxes to be delayed in some cases. (Jun 3, 2019)
- 8.3.6.100 Fixed NullReferenceException when rendering transparent text in WPF control. (Aug 1, 2019)
- 8.3.7.100 Fixed a problem with Undo sometimes failng after changing row or column size with shapes that are in a fixed position or have a fixed size on a worksheet. (Aug 13, 2019)
- 8.3.8.100 Fixed the WorkbookView scrollbar split panes position to update when the zoom is changed. (Aug 26, 2019)
- 8.3.8.100 Fixed an issue with IRange.Find which caused it to find cells in the wrong order on worksheets with autofilters for some cases with SearchOrder.ByColumns. (Aug 26, 2019)
- 8.3.9.100 Fixed an issue which caused an exception to be thrown when scrolling a WorkbookView with certain combinations of frozen panes and merged cells. (Sep 4, 2019)
- 8.3.10.100 Fixed an issue with CHOOSE which caused an exception to be thrown if the specified index is >= 2147483648.0. (Sep 23, 2019)
- 8.3.11.100 Improved numeric stability for IRR with a large numbers of values. (Sep 23, 2019)
- 8.3.12.100 Fixed IWorksheetWindowInfo SplitRows, SplitColumns, SplitHorizontal and SplitVertical properties to allow larger values as Excel does. (Oct 17, 2019)
- 8.3.12.100 Improved handling of IRR and XIRR for cases where the final accumulated rate is very small (close to -1) or very large. (Oct 17, 2019)
- 8.3.14.100 Changed reading Open XML workbooks to ignore chart data cache items with invalid index numbers instead of throwing an exception. (Oct 25, 2019)
- 8.3.16.100 Fixed SpreadsheetGear 2017 for .NET Framework and SpreadsheetGear 2017 for Silverlight installers to work on Azure AD Joined devices using Azure AD credentials. (Nov 13, 2019)
- 8.3.17.100 Updated InstallShield to use new digital certificate timestamp server for SpreadsheetGear installers. (Nov 13, 2019)
- 8.3.19.100 Fixed an issue with autofilter dropdown menus which could cause an exception to be thrown in certain cases when the active worksheet is deleted or the active workbook is closed. (Nov 13, 2019)
- 8.3.20.100 Fixed an issue which sometimes caused exceptions when IWorkbookSet.CalculationOnDemand is changed from false to true after a workbook set has been calculated. (Dec 5, 2019)
- 8.3.20.100 Fixed an issue with adding defined names which sometimes caused a worksheet specific defined name to be incorrectly added instead of a global defined name. (Dec 5, 2019)
- 8.3.20.100 Fixed an issue with circular reference iteration not iterating on the first recalc when there are multiple independent circular reference paths. (Dec 5, 2019)
- 8.3.25.100 Fixed an issue which caused workbooks saved by SpreadsheetGear to .xls that contain shapes with background image fills to be opened by Excel in protected mode. (Dec 30, 2019)
- 8.3.26.100 Fixed some problems with rendering of conditional format color scales when the low value matches the mid-point value and the cell value is <= to the mid-point value. (Jan 7, 2020)
- 8.3.27.100 Improved performance for certain cases with very large numbers of unique formulas. (Jan 14, 2020)
- 8.3.28.100 Fixed an issue which caused an exception to be thrown in some cases when the NUMFILE option of the INFO function is evaluated when a WorkbookView is attached to the workbook set. (Feb 3, 2020)
- 8.3.32.100 Fixed an issue which caused defined name comments to not be copied when copying across worksheets or workbooks. (Feb 3, 2020)
- 8.3.34.100 Fixed the CELL("width", ...) worksheet function to recalculate when column widths or column hidden state is changed, and improved it to return a value which is closer to the result returned from IRange.ColumnWidth. (Feb 20, 2020)
- 8.3.36.100 Fixed reading CSV and text files to put text with a leading '=' into cells as text if they cannot be parsed as valid formulas. (Mar 5, 2020)
- 8.3.37.100 Fixed SpreadsheetGear Help to work on systems which only have Visual Studio 2019 installed. (Mar 24, 2020)
- 8.3.39.100 Fixed issues with Mouse wheel not scrolling to the top visible row in certain cases. (Apr 15, 2020)
- 8.3.39.100 Fixed an issue with WPF MessageDialog hanging applications after switching apps (such as Alt-Tabbing) away and back to the application. (Apr 15, 2020)
- 8.3.39.100 Changed to ignore empty chart formula elements when reading Open XML. (Apr 15, 2020)
- 8.3.40.100 Fixed to no longer throw an exception when using multiple formula bars with multiple WorkbookView controls attached to the same workbook set. (Apr 22, 2020)
- 8.3.41.100 Fixed formatting of dates and times to format negative dates and times as Excel does when using the Date1904 date time format. (Jun 3, 2020)
- 8.4.2.100 Fixed problems with AutoFill when freeze panes is enabled. (Jun 3, 2020)
- 8.4.3.100 Added workaround for customer workbook which has missing 'cellStyle' element in the styles part of an Open XML workbook. (Aug 20, 2020)
- 8.4.4.100 Fixed a problem where the INDEX function sometimes returned incorrect results in array formulas for cases where arguments to INDEX are missing. (Sep 18, 2020)
- 8.4.4.100 Fixed a problem with IFERROR which caused it to fail to recognize errors and therefore return an incorrect result in some cases involving array formulas. (Sep 18, 2020)
- 8.5.1.100 Fixed a problem which caused null reference exceptions in the Windows Forms WorkbookView control in certain cases with .NET Framework 4.8. (Oct 26, 2020)
- 8.5.2.100 Fixed an issue which caused defined names to return #NAME! in certain complex workbooks. (Oct 26, 2020)
- 8.5.2.100 Fixed a WPF FormulaBar issue which occurred when entering formulas with the keyboard along with the mouse to drag for cell references. (Oct 26, 2020)
- 8.5.3.100 Fixed performance issues with smoothed chart series lines when the lines would have created a large number of line segments outside of the plot area. (Nov 25, 2020)
- 8.5.3.100 Fixed a bug with the FIXED function which caused it to return an incorrect result for some locales. (Nov 25, 2020)
- 8.5.5.100 Improved IRR to return better results with leading zeros in the specified values. (Dec 16, 2020)
- 8.5.5.100 Fixed a problem which caused conditional formats to sometimes fail to render correctly when changes are made to non-formula cells. (Dec 16, 2020)
- 8.5.6.100 Fixed an issue which caused AVERAGEIF to return an invalid error value leading to exceptions when the result is painted. (Jan 12, 2021)
- 8.5.7.100 Fixed a problem with sorting rows when there are multiple hyperlinks in each row or sorting columns when there are multiple hyperlinks in each column. (Feb 2, 2021)
- 8.5.9.100 Fix issues with Auto Filters not filtering correctly when cell color is default auto color. (Mar 22, 2021)
- 8.5.10.100 Fixed a problem which caused an exception to be thrown if there was leading or trailing whitespace around certain numbers in an Open XML document. (May 5, 2021)
- 8.5.12.100 Fixed an issue which caused bad xls files to be written when there is a reference to another workbook with a large number of worksheets. (May 5, 2021)
- 8.5.13.100 Fixed charts to repaint when rows or columns are collapsed or expanded using outline controls. (May 5, 2021)
- 8.6.2.100 Fixed an issue which caused some Unicode characters to be lost when written to tab delimited text files. (May 26, 2021)
- 8.6.4.100 Fixed an issue which sometimes caused array formulas to be corrupted when a Find and Replace modifies an array formula. (Jul 20, 2021)
- 8.6.5.100 Fixed to read xls workbooks with formulas containing certain invalid external references, replacing the invalid reference with #N/A as Excel does. (Jul 22, 2021)
- 8.6.6.100 Added a workaround to allow reading certain .xls workbooks written by Excel 2019 with invalid workbook streams. (Aug 3, 2021)
- 8.6.7.100 Added a workaround to read Open XML workbooks with certain invalid cell formatting records. (Aug 3, 2021)
- 8.6.8.100 Fixed IFERROR to not return arrays in non-array-formula cells. (Sep 29, 2021)
- 8.6.10.100 Fix SUMIFS, COUNTIFS and AVERAGEIFS issue when there is a combination of one criteria with a logical operator (such as '">=1"') and another criteria with an array (such as '{ "a", "b", "c" }'). (Nov 12, 2021)
- 8.6.11.100 Fixed a problem which caused SpreadsheetGear to write an invalid Open XML document when writing a workbook with fractional numbers in conditional formats from a thread with a decimal separator other than '.'. (Nov 30, 2021)
- 8.6.11.100 Fixed an issue with COUNTIFS, SUMIFS and AVERAGEIFS which caused incorrect results when there are criteria with empty cells at the end of a column followed by more criteria columns which are not empty cells. (Nov 30, 2021)
- 8.7.5.100 Fixed the Workbook Designer to show an error if you try to open a workbook such as "C:\a\Hello.xlsx" when you already have "C:\b\Hello.xlsx" open. (Jan 5, 2022)
- 8.7.10.100 Fixed an issue which caused an exception to be thrown when reading a shape object with a zero length text record with font runs from a .xls workbook. (Mar 21, 2022)
- 8.7.10.100 Fixed an issue which caused merged cells to sometimes be lost when inserting or deleting cells. (Mar 21, 2022)
- 8.7.11.100 Fixed an issue which caused an exception to be thrown when using CopyFromDataTable with no data rows. (Jun 9, 2022)
- 8.7.12.100 Fixed to no longer allow formulas such as "=ABS(2+)" to be considered valid formulas. (Jun 20, 2022)
- 8.7.13.100 Fixed priority order issue when copying conditional formats from one worksheet to another. (Jun 26, 2022)
- 8.7.13.100 Added support for the deprecated built in Excel styles "Emphasis 1", "Emphasis 2" and "Emphasis 3". (Jun 26, 2022)
- 8.7.14.100 Fixed an issue which caused copying of column widths to sometimes give incorrect results. (Jul 21, 2022)
- 8.7.15.100 Fixed a problem which caused Excel to be unable to read certain very large workbooks. (Jul 23, 2022)
- 8.8.6.100 Fixed an issue which occasionally caused some formula cells not to repaint when scrolling and modifying formulas at the same time. (Feb 9, 2023)
SpreadsheetGear 2012 for .NET Framework (V7)
New Features
- WPF and Silverlight WorkbookView and FormulaBar controls.
-
New Excel 2010 compatible functions:
- AVERAGEIF
- AVERAGEIFS
- BETA.DIST
- BETA.INV
- BINOM.DIST
- BINOM.INV
- CEILING.PRECISE
- CELL
- CHISQ.DIST
- CHISQ.DIST.RT
- CHISQ.INV
- CHISQ.INV.RT
- CHISQ.TEST
- CONFIDENCE.NORM
- CONFIDENCE.T
- COUNTIFS
- COVARIANCE.P
- COVARIANCE.S
- ERF.PRECISE
- ERFC.PRECISE
- EXPON.DIST
- F.DIST
- F.DIST.RT
- F.INV
- F.INV.RT
- F.TEST
- FLOOR.PRECISE
- GAMMA.DIST
- GAMMA.INV
- GAMMALN.PRECISE
- HYPGEOM.DIST
- IFERROR
- LOGNORM.DIST
- LOGNORM.INV
- MODE.MULT
- MODE.SNGL
- NEGBINOM.DIST
- NETWORKDAYS.INTL
- NORM.DIST
- NORM.INV
- NORM.S.DIST
- NORM.S.INV
- PERCENTILE.EXC
- PERCENTILE.INC
- PERCENTRANK.EXC
- PERCENTRANK.INC
- POISSON.DIST
- QUARTILE.EXC
- QUARTILE.INC
- RANK.AVG
- RANK.EQ
- STDEV.P
- STDEV.S
- SUMIFS
- T.DIST
- T.DIST.2T
- T.DIST.RT
- T.INV
- T.INV.2T
- T.TEST
- VAR.P
- VAR.S
- WEIBULL.DIST
- WORKDAY.INTL
- Z.TEST
- Support for Windows 8, Windows Server 2012, Visual Studio 2012 and .NET 4.5.
- Multithreaded recalc and sorting.
- Improved memory efficiency and performance for most workbooks particularly in 64 bit applications.
- Rich text support in cells with the WPF and Silverlight WorkbookView controls.
- Custom row and column text as well as custom styling with XAML Control Templates in the WPF and Silverlight WorkbookView controls.
- Support for saving to Microsoft XML Paper Specification (XPS) Documents with SpreadsheetGear.Windows.Xps.WorkbookXpsDocument.
- New SpreadsheetGear2012.Core.dll assembly with no references to GDI+ or Windows Forms.
- Support for System.Char types in the IRange.Value setter as well as when importing data from a data table.
- WorkbookExplorer.AllowWorkbookDesigner property to disable the Workbook Designer from the Workbook Explorer.
- 7.1.1.120 Windows 8.1 and Visual Studio 2013 support were added in SpreadsheetGear 2012 V7.1. (Nov 9, 2013)
- 7.2.1.102 Added support for reading and writing Open XML workbooks larger than two gigabytes. (May 13, 2015)
- 7.3.2.104 Windows 10, Visual Studio 2015 and .NET 4.6 support were added in SpreadsheetGear 2012 V7.3. (Aug 20, 2015)
Breaking Changes
- In order to support WPF and Silverlight, the core API has been separated from the GDI+ and Windows Forms APIs and therefore uses the new SpreadsheetGear.Color; type rather than SpreadsheetGear.Drawing.Color. SpreadsheetGear.Drawing.Color has been moved to SpreadsheetGear2012.Drawing.dll. See SpreadsheetGear.Drawing.Color for an example which uses the implicit and static converters to convert between SpreadsheetGear.Color, SpreadsheetGear.Drawing.Color and System.Drawing.Color. SpreadsheetGear.Colors and SpreadsheetGear.SystemColors provide helpful predefined colors to replace the use of predefined colors in System.Drawing.Color.
- Removed IPictureFormat.GetImage from the core API and replaced with SpreadsheetGear.Drawing.Image.GetImage in SpreadsheetGear2012.Drawing.dll.
- The SpreadsheetGear command classes have been moved from the SpreadsheetGear.Windows.Forms namespace to SpreadsheetGear.Commands to enable sharing by the Windows Forms, WPF, and Silverlight WorkbookView controls.
- Moved the SpreadsheetGear.Drawing.Printing.PrintWhat enumeration to SpreadsheetGear.Printing.PrintWhat.
Issues Addressed
- Fixed a UI locking issue when auto filling and scrolling by dragging the mouse past the end of the WorkbookView.
- Fixed OFFSET function to support returning an array of ranges when used in an array formula.
- Fixed to use the default number format for Open XML number formats which cannot be read.
- Fixed to clear undo buffer when IWorkbook.SaveToMemory is called.
- Fixed IStyle.Equals to no longer cause a stack overflow exception.
- Fixed saving Open XML workbooks with external workbook references to no longer prepend "file:///" to paths which do not start with "X:\" where 'X' is a drive letter.
- Fixed the behavior of adjusting the first displayed sheet tab when a worksheet is selected or deleted.
- Fixed to support Locale.ArgumentSeparator when editing formulas in a WorkbookView control.
- Improved IRR to converge on a result in more cases.
- Fixed Workbook Designer freeze panes menu command to not freeze columns when entire row is selected and not freeze rows when entire column is selected.
- Fixed scrollbar thumb and value positions to account for hidden (non-viewable) rows/cols at beginning and end of worksheet.
- Fixed issues with RangeExplorer clearing cell formatting when formatting hyperlinks.
- Changed WorkbookView.OnMouseMove to display a GetLock / ReleaseLock warning only when a debugger is attached.
- Fixed mouse wheel scrolling issue which occurred when using a high-resolution mouse.
- Fixed IRange.Merge to throw an exception if an attempt is made to merge a single cell.
- Fixed chart line markers to no longer render outside of plot area.
- Fixed autofill & data-series APIs to sometimes copy cell formatting (font, interior, etc...) as Excel does.
- Fixed some issues with plotting error and empty type values on area charts that use a date axis.
- Fixed refresh issues with the WorkbookView control when using the Dock / Undock smart tag item in Visual Studio.
- Fixed default TextBox horizontal alignment when reading Open XML document.
- Fixed cell merging to fix up cell borders and formats.
- Fixed reading of Open XML external references such as "/Dir/Book.xlsx" to convert to "C:\Dir\Book1.xlsx" as Excel does, and fixed writing external references such as "C:\Dir\Book1.xlsx" to be written as "/Dir/Book.xlsx".
- Fixed printing routine to only print visible sheets when printing entire workbook.
- Fixed to no longer include the active cell when using CTRL or SHIFT with MouseDown to point at a range when editing a formula.
- Fixed reading Open XML files to handle xmlns in cases where an exception was being thrown.
- Fixed copying and pasting of an entire row to be smarter about not creating a large number of blank formatted cells.
- Fixed HLOOKUP, VLOOKUP and MATCH to compare numbers as Excel does, no longer considering two numbers equal if they are very close as the "=" operator does.
- Fixed autofilter and data validation drop down controls to choose a more appropriate height to fix the problem where they are not displayed when the default row height is zero.
- Fixed to read and display shapes which hang past the edge of a worksheet.
- Fixed to remove incomplete conditional formats before writing workbooks to avoid writing workbooks which Excel will not read.
- Improved performance when reading Open XML workbooks with a large number of external targets (such as hyperlinks).
- Fixed AutoFill mouse handler to execute FillDown / FillRight when worksheet has autofilters on as Excel does.
- Fixed default print range to work more like Excel regarding blank formatted cells.
- Added Outlines option to LocationToRange / RangeToLocation APIs.
- Fixed theme color picker to not select Transparent color tooltip label for white.
- Fixed undo and redo to handle frozen or split panes correctly.
- Fixed to no longer display two error message boxes when beginning a cell edit on a protected worksheet with the Backspace key.
- Fixed to no longer convert references such as $A5:$A$1048576 to #REF! when inserting rows above the cell containing the reference.
- Fixed picture shape to no longer display visible border upon creation and fixed issues with writing picture line format information in .xls files.
- Fixed UI to invalidate and refresh correctly after visible comments are moved when sorting a range.
- Fixed RangeExplorer issue where merge cells checkbox was not being reset upon command execution failure.
- Fixed issues with automatic row height when wrap text flag is being used in a cell.
- Fixed WorkbookView navigation to skip rows and columns that have very small sizes and are not visible on screen.
- Fixed problem saving Excel 2003-generated WordArt objects which caused saved workbooks to fail in the Office File Validation tool.
- Fixed issues with comments not displaying in the correct location when visible across frozen panes.
- Fixed chart rendering issues with line charts, line markers, and various stock chart features.
- Fixed IPageSetup.PrintArea, PrintTitleRows and PrintTitleColumns to work correctly when IWorkbookSet.ReferenceStyle is set to ReferenceStyle.R1C1.
- Fixed in-cell editor to always choose left alignment when using the Input Method Editor (IME) since the IME only supports left alignment.
- Fixed FormulaBar name box so that it does not list defined names that do not refer to ranges.
- Fixed NullReferenceException which occurred when a WorkbookView tried to display a disposed worksheet.
- Fixed NullReferenceException which occurred when printing with a print title referring to #REF!
- Fixed NullReferenceException which occurred when user scrolls WorkbookView after ActiveWorkbook is closed.
- Fixed cases where auto sizing of row heights caused shape positions to be left in an undetermined state.
- Fixed to write workbooks with custom functions beginning with "_xll." as non-shared formulas as Excel does.
- Fixed an issue which caused an exception after setting certain ThemeColor properties to ColorSchemeIndex.None.
- Fixed cell comments and internal controls used for data validation and autofilters to display property when DisplayDrawingObjects is set to false.
- Fixed an issue which caused autofilter dropdowns to not be removed when frozen panes are removed.
- Fixed an issue which caused an exception to be thrown if sheet protection is turned off while editing a textbox form control.
- Fixed cases where textbox form controls were not rendering fills and lines.
- Fixed an issue which caused cell hyperlink information to be left on the screen when the mouse is moved over row or column headers.
- Fixed data validation dropdown listbox and listbox control to display formatted cell text instead of raw cell values.
- Fixed PrintPreviewDialog to work properly when is displayed as a modal dialog.
- Fixed a calculation problem where references to worksheets which are not loaded into the workbook set caused null reference exceptions.
- Fixed pictures to use no line and no fill by default when reading Open XML files with no formatting information.
- Fixed a problem which caused null reference exceptions when evaluating certain conditional formats and data validation rules.
- Fixed issue loading workbook with Table references to Table columns with names like "1c" or "123" as in "=SUBTOTAL(109,[1c])".
- Fixed a problem which caused four builtin number formats to be incompatible with Excel: ("#,##0_);(#,##0)", "#,##0_);[Red](#,##0)", "#,##0.00_);(#,##0.00)" and "#,##0.00_);[Red](#,##0.00)").
- Fixed printing of a selected range including entire rows and / or columns to trim the size of the range to be printed to cells containing content.
- Fixed an issue which caused a NullRefException when clearing all data linked to a chart date axis.
- Fixed reading .CSV files to support reading 1048576 rows when there is a CRLF after the last row.
- Fixed scrolling to work better in certain cases where touch is used or where the scrollbar thumb is moved a single pixel.
- 7.0.4.110 Fixed a problem which caused invalid numbers to be placed in cells when setting IRange.Value to the System.Decimal value -0.0m (negative 0.0). (Nov 12, 2012)
- 7.0.4.110 Added an Aero2 theme to the WPF WorkbookView control for improved Windows 8 support. (Nov 12, 2012)
- 7.0.4.110 Changed WPF WorkbookView mouse handling code to mark MouseUp events as handled only when an action is taken. (Nov 12, 2012)
- 7.0.4.110 Fixed a problem with row and column header text which occurred with some High Contrast Windows 8 themes. (Nov 12, 2012)
- 7.0.4.110 Fixed a problem in IRange.Copy which caused exceptions to be thrown in certain cases. (Nov 12, 2012)
- 7.0.4.110 Fixed problems with some Excel 2007 / 2010 compatible functions which caused #VALUE! to be returned when a single value was expected, but a vector of cells was passed in (such as A:A or 1:1). (Nov 12, 2012)
- 7.0.4.110 Fixed a problem with the SUMIF and COUNTIF functions which caused them to return an error when the specified criteria value was an error. (Nov 12, 2012)
- 7.0.4.110 Fixed a problem which caused an exception to be thrown when a cell containing an empty text string was formatted. (Nov 12, 2012)
- 7.0.4.110 Fixed a multithreaded recalc issue which caused IWorkbookSet.MaxChange to work inconsistently if it was changed after the first recalc of a workbook set, or if a workbook with a different MaxChange value was added to or removed from a workbook set. (Nov 12, 2012)
- 7.0.4.114 Fixed F.DIST to no longer return #NUM! for some valid boundary conditions. (Nov 12, 2012)
- 7.0.4.118 Made a minor improvement to the way sheet tabs are rendered. (Nov 19, 2012)
- 7.0.4.124 Fixed problems writing workbooks which contained formulas with external references to cells containing text. (Nov 19, 2012)
- 7.0.4.126 Fixed a Windows Forms WorkbookView painting problem which occurred when scrolling with fixed panes. (Nov 28, 2012)
- 7.0.4.126 Fixed printing problem which occurred when the last row or column being printed is hidden. (Nov 28, 2012)
- 7.0.4.126 Fixed parsing of cell values to require non-zero digits left of the thousands separator as Excel does for a value to be treated as a number, so "0,123" and "0,123,456" are treated as text rather than numbers. (Nov 28, 2012)
- 7.0.4.130 Fixed problems with editing and automatic sizing of rich text cells. (Nov 28, 2012)
- 7.0.5.118 Fixed PRICE, YIELD and ODD* functions to handle negative rates consistently even though Excel 2013 does not do so. (Dec 27, 2012)
- 7.0.5.118 Fixed a problem which occurred when copying text cells over the top of themselves. (Dec 27, 2012)
- 7.0.5.118 Fixed various issues which occurred when editing percent values with the in-cell editor and formula bar. (Dec 27, 2012)
- 7.0.5.118 Fixed an issue with the autofilter dropdown listbox position being set to an invalid value when rows are hidden or deleted. (Dec 27, 2012)
- 7.0.5.118 Fixed an issue which caused corruption of formula cells in certain cases where formula cells are copied or created. (Dec 27, 2012)
- 7.0.5.118 Fixed a calculation problem which could cause exceptions or invalid results after certain workbooks are calculated and then have their formula structure modified by inserting or deleting cells or by creating or modifying formulas. (Dec 27, 2012)
- 7.0.5.138 Fixed an issue in the Silverlight and WPF WorkbookView controls where background calculation was being continually interrupted by UI updating code causing calculation to make no progress for certain complex workbooks. (Aug 12, 2013)
- 7.0.5.142 Fixed problems with the display of message boxes in WPF and Silverlight. (Aug 12, 2013)
- 7.0.5.142 Fixed a problem with the display of "(Blanks)" in the autofilter dropdown list when there are blank cells in a column. (Aug 12, 2013)
- 7.0.5.142 Fixed a problem reading certain workbooks written by third party software which caused some blank formatted cells to be populated with a number. (Aug 12, 2013)
- 7.0.5.144 Fixed a calculation problem which caused an exception to be thrown for certain complex workbooks. (Aug 12, 2013)
- 7.0.5.146 Fixed entering an apparent fraction such as "1/0" to create a cell with the date "Jan 1, 2000" as Excel does instead of creating an invalid cell with the numeric value Double.PositiveInfinity which can lead to exceptions being thrown later. (Aug 12, 2013)
- 7.0.5.150 Improved IHyperlinks performance with a large number of hyperlinks. (Aug 12, 2013)
- 7.0.5.150 Fixed an issue in the WorkbookView where selected AutoFiltered items beginning with an operator (<, >, =) did not filter properly. (Aug 12, 2013)
- 7.0.5.150 Fixed a problem which caused incorrect results to be returned by IWorksheetWindowInfo.RowToPoints and PointsToRow when a large number of adjacent rows were set to a large row height. (Aug 12, 2013)
- 7.0.5.150 Fixed an issue which caused an exception to be thrown in the case where a WPF WorkbookView control has a custom UIManager which overrides CreateCustomControl(IShape) and returns a WPF FrameworkElement, and the returned WPF FrameworkElement is then displayed in a Windows Forms WorkbookView control. (Aug 12, 2013)
- 7.0.5.150 Fixed data validation drop down listboxes which refer to cells containing text to use the unformatted cell text rather than the formatted cell text as Excel does. (Aug 12, 2013)
- 7.0.5.150 Fixed an issue where cells with General horizontal alignment, a numeric value and formatted as text ("@") incorrectly align right instead of left when rendered. (Aug 12, 2013)
- 7.0.5.154 Fixed an issue which caused the in-cell editor to sometimes be the wrong size in WPF and Silverlight. (Aug 12, 2013)
- 7.0.5.154 Fixed an issue which caused workbook set CultureInfo settings to sometimes not pick up customizations of the default or current CultureInfo. (Aug 12, 2013)
- 7.0.5.154 Fixed a problem where using the OFFSET function in an array formula could throw an exception for cases where very large arrays must be returned. (Aug 12, 2013)
- 7.0.5.154 Fixed a problem where copying cells when the source and destination columns overlapped would incorrectly leave some cells blank. (Aug 12, 2013)
- 7.0.5.164 Fixed an issue which caused a null reference exception to be thrown if a subclass of CommandManager returned null from CreateCommandDelete or CreateCommandInsert. (Aug 12, 2013)
- 7.0.5.164 Fixed Windows Forms rendering of arrowheads on cell comments to scale correctly when printing and in print preview by rendering our own arrowheads rather than using a GDI+ AdjustableArrowCap. (Aug 12, 2013)
- 7.0.5.164 Fixed issues with the ShapeAction event not being fired consistently for cell comments and for cases where worksheet protection is modified. (Aug 12, 2013)
- 7.0.6.104 Fixed a problem which caused Excel to return #NAME! for cell formulas containing NETWORKDAYS.INTL, WORKDAY.INTL, COUNTIFS, IFERROR or SUMIFS after reading an Excel 97-2003 (.xls) workbook which was written by SpreadsheetGear. (Aug 12, 2013)
- 7.0.6.104 Fixed an issue which caused Excel to return #REF! after reading Excel 97-2003 (.xls) workbooks written by SpreadsheetGear for formulas which contained Union, Range or Intersection operators with arguments containing 3d references or functions such as INDIRECT. (Aug 12, 2013)
- 7.0.6.108 Added a work around to read certain workbooks written by 3rd party components. (Aug 12, 2013)
- 7.0.6.112 Fixed an exception in the WPF and Silverlight controls which occurred when editing a cell if an attached FormulaBar control is collapsed. (Aug 12, 2013)
- 7.0.6.112 Added a workaround for an issue with base / default column widths for Open XML workbooks written by certain 3rd party software. (Aug 12, 2013)
- 7.0.6.116 Fixed an issue where IGradientStops.InsertAt(...) did not insert new stop at the given index. (Aug 12, 2013)
- 7.0.6.116 Fixed an issue which caused cells containing numbers between -1 and 1 formatted with the "General" number format to display with an exponent of "E+01" instead of "E-01" when the width of a column is narrow enough to cause SpreadsheetGear to display the number as scientific notation. (Aug 12, 2013)
- 7.0.6.116 Fixed an issue which caused a division by zero exception to be thrown when rendering certain charts with a height or width of zero due to hidden rows or columns. (Aug 12, 2013)
- 7.0.6.116 Fixed to read saved supporing workbook data as Excel does when the 'refreshError' attribute of the CT_ExternalSheetData type is true in an Open XML workbook. (Aug 12, 2013)
- 7.0.6.120 Fixed a problem which caused exceptions to be thrown after using Find & Replace to modify formulas with a workbook set which is attached to a WorkbookView with Undo and Redo enabled. (Aug 12, 2013)
- 7.0.6.124 Fixed an issue in the GEOMEAN function which caused 0 to be returned rather than #NUM! for certain cases. (Aug 12, 2013)
- 7.0.6.136 Fixed an issue which caused certain workbooks using functions such as OFFSET and INDEX to throw exceptions when calculating. (Aug 12, 2013)
- 7.0.6.142 Fixed to support reading and writing IWorkbook.ReadOnlyRecommended to Open XML workbooks. (Nov 9, 2013)
- 7.0.6.142 Fixed WPF and Silverlight in-cell editor to paste multi-line text. (Nov 9, 2013)
- 7.0.6.144 Improved the calculation performance of certain workbooks which used functions such as INDEX, OFFSET, HLOOKUP and VLOOKUP with large ranges of cells. (Nov 9, 2013)
- 7.0.6.144 Fixed an issue which sometimes caused SUMIFS, AVERAGEIFS and COUNTIFS to throw an exception when evaluating ranges where some columns contain no valid criteria. (Nov 9, 2013)
- 7.0.6.148 Fixed problems which caused incorrect page numbers and total page counts to sometimes be printed in headers and footers. (Nov 9, 2013)
- 7.0.6.148 Fixed to try to load SpreadsheetGear2012.Drawing.dll and SpreadsheetGear2012.Windows.WPF.dll from the default path (including the Global Assembly Cache) if they are not found in the folder containing SpreadsheetGear2012.Core.dll. (Nov 9, 2013)
- 7.0.6.148 Fixed problems which caused PERCENTILE.EXC, QUARTILE.EXC and QUARTILE.INC to sometimes return incorrect results. (Nov 9, 2013)
- 7.0.6.148 Improved the performance of saving certain sparsely populated workbooks. (Nov 9, 2013)
- 7.0.6.148 Fixed an issue where an exception would be thrown when rendering a chart with special-case series attributes. Also made series auto color rendering more consistent with Excel for these special-case series. (Nov 9, 2013)
- 7.0.6.154 Fixed an issue which caused exceptions to be thrown after copying an entire worksheet which contained autofilters. (Nov 9, 2013)
- 7.0.6.154 Fixed an issue which caused an exception to be thrown when reading certain xls workbooks with extended characters in cell text. (Nov 9, 2013)
- 7.0.6.164 Fixed an issue which caused SUMIFS, COUNTIFS and AVERAGEIFS to sometimes run slowly and to sometimes incorrectly return #VALUE!. (Nov 9, 2013)
- 7.0.6.166 Fixed a problem which caused the WorkbookView control to fail to repaint cells after calling IRange.Copy where the source range is larger than the destination range and the source worksheet is different than the destination worksheet. (Nov 9, 2013)
- 7.0.6.166 Fixed an issue which sometimes made selecting text difficult in the in-cell editor of the WPF and Silverlight WorkbookView controls. (Nov 9, 2013)
- 7.0.6.166 Fixed textbox autoshape editing in WPF and Silverlight to allow scrolling vertically when the text is too tall for the textbox. (Nov 9, 2013)
- 7.0.6.166 Fixed an issue which caused the TextBox autoshape to be repainted incorrectly after editing the textbox in the WPF WorkbookView control. (Nov 9, 2013)
- 7.0.6.167 Fixed an issue which caused certain formulas containing whitespace to return incorrect results. (Nov 9, 2013)
- 7.0.6.172 Fixed the FormulaBar to display the defined name for the top-left cell of a merged cell when the merged cell is the active cell. (Nov 9, 2013)
- 7.0.6.172 Fixed an issue where the AVERAGEIF function did not return the correct result. (Nov 9, 2013)
- 7.0.6.176 Fixed ISheet.CopyAfter, ISheet.CopyBefore, ISheet.MoveAfter and ISheet.MoveBefore to return an instance of IChartSheet when the source ISheet is an IChartSheet. (Nov 9, 2013)
- 7.1.1.104 Fixed an issue which caused charts with both positive and negative custom error bar amounts to be saved incorrectly to Open XML workbooks. (Nov 9, 2013)
- 7.1.1.122 Fixed the Print... dialog box to be modal when using the WPF WorkbookView control from a Windows Forms application. (Aug 7, 2014)
- 7.1.1.126 Fixed a problem where calling IWorksheets.Add() while editing a cell caused the tab for the new worksheet to be displayed twice in the WorkbookView sheet tab bar. (Aug 7, 2014)
- 7.1.1.126 Fixed an issue which caused the IWorkbookSet.EndCalculate event to fail to be fired and also caused formula cells not to be repainted after some UI features (such as data validation dropdown lists) or APIs were used on workbooks with certain combinations of formulas (such as the INDIRECT function combined with circular references). (Aug 7, 2014)
- 7.1.1.130 Added a workaround to allow reading of an Open XML workbook with the page setup first page number set to a value > 2147483647. (Aug 7, 2014)
- 7.1.1.132 Fixed NullReferenceException for Excel 2013 workbooks that contain charts using a new series filter option. Filtered series will be dropped when read into SpreadsheetGear. (Aug 7, 2014)
- 7.1.1.132 Fixed to throw a more descriptive exception (System.IO.IOException(string.Format("Unable to read unsupported function {0}", funcNumber))) when reading workbooks containing unsupported functions (such as the deprecated Excel 4 macro EVALUATE function) instead of throwing a NullReferenceException. (Aug 7, 2014)
- 7.1.1.144 Fixed issue where print headers and footers did not always scale correctly. (Aug 7, 2014)
- 7.1.1.144 Fixed ISheet.CopyBefore and CopyAfter to properly copy the current selection if it contains multiple areas. (Aug 7, 2014)
- 7.1.1.144 Fixed a problem which caused exceptions when calculating certain complex workbooks when connected to the Windows Forms WorkbookView control with background calculation off and without using GetLock() / ReleaseLock(). (Aug 7, 2014)
- 7.1.1.144 Fixed an exception which occurred in GDI+ when rendering an image to a picture autoshape which has a width or height of zero. (Aug 7, 2014)
- 7.1.1.150 Fixed issue which caused the RangeChanged event to be fired before cell references were fixed up when cutting and pasting cells. (Aug 7, 2014)
- 7.1.1.154 Fixed a problem which caused column formatting to be lost in certain cases where a row is formatted after the column, and the cell at the intersection of the row and column does not already have it's own format. (Aug 7, 2014)
- 7.1.1.154 Fixed an issue which caused exceptions or incorrect results when calculating if PrecisionAsDisplayed is enabled and certain changes had been made which affected cell formatting. (Aug 7, 2014)
- 7.1.1.154 Fixed reading Open XML files to handle xmlns attributes in shape fill elements. (Aug 7, 2014)
- 7.1.1.158 Fixed a problem which caused calculations to sometimes return incorrect results after setting IWorkbookSet.CalculationOnDemand to true. (Aug 7, 2014)
- 7.1.1.164 Fixed an issue which caused an exception if cell validation fails and the user chooses to Retry, but edit mode had been canceled for any reason (such as an API call which changes the currently active worksheet) before edit mode had been resumed. (Aug 7, 2014)
- 7.1.1.164 Fixed an issue which caused some rich text cells to fail to display the last visible line of text in the WPF WorkbookView control. (Aug 7, 2014)
- 7.1.1.164 Fixed a problem which caused non-interruptible calculation to occur with certain workbooks after editing a formula. (Aug 7, 2014)
- 7.1.1.168 Fixed an issue which caused the WorkbookView control to hang or run very slowly when Enter or Tab are pressed for certain combinations of selected ranges and hidden rows and hidden columns. (Aug 7, 2014)
- 7.1.1.168 Fixed an issue which caused columns to sometimes be hidden or set to a very narrow width when attempting to set the column to a very large width. (Aug 7, 2014)
- 7.1.1.168 Fixed a problem which caused formulas to fail to parse when an Intersection, Range or Union operator is followed by a space and then a #REF! error (such as "=Sheet1!#REF!, Sheet1!#REF!"). (Aug 7, 2014)
- 7.1.1.168 Fixed an issue which caused the WPF and Silverlight WorkbookView controls to fail to render pie slices with a sweep of 360 degrees. (Aug 7, 2014)
- 7.1.1.172 Fixed AutoFilter context menu position for the WPF WorkbookView control. (Aug 7, 2014)
- 7.1.1.172 Fixed an issue with rotated gradient fills in charts for the WPF WorkbookView control. (Aug 7, 2014)
- 7.1.1.172 Fixed an issue which caused Find and Replace to replace the first found instance twice in certain worksheets. (Aug 7, 2014)
- 7.1.1.176 Fixed an issue where Open XML workbooks containing formulas with OFFSET worksheet functions which contained #REF! errors but no valid cell references would not be opened because the formula could not be parsed. (Aug 7, 2014)
- 7.1.1.180 Fixed a problem which caused data validation to fail when a list of cells with certain types of number formats are used. (Aug 7, 2014)
- 7.1.1.186 Fixed an issue which caused XIRR to fail to converge in some cases where Excel does return a result because SpreadsheetGear was requiring a more accurate result. SpreadsheetGear still tries to find a more accurate result but falls back to less accuracy to return results in more cases. (Aug 7, 2014)
- 7.1.1.194 Fixed an issue which caused the WPF WorkbookView control to incorrectly render a trailing parenthesis for certain combinations of number formats and font styles. (Aug 7, 2014)
- 7.1.1.194 Fixed a problem with rendering of vertical text with space characters. (Aug 7, 2014)
- 7.1.1.194 Fixed the "filename" option of the CELL worksheet function to be more compatible with Excel. (Aug 7, 2014)
- 7.1.1.200 Fixed an issue which caused the loss of chart series line colors when reading an Open XML workbook written by Excel where the series had a custom line width but not a custom color. (Aug 7, 2014)
- 7.1.1.200 Fixed an issue which caused right-justified cells with trailing spaces to be rendered without the trailing spaces in some cases. (Aug 7, 2014)
- 7.1.1.200 Fixed some issues with the ACCRINT function. (Aug 7, 2014)
- 7.1.1.204 Fixed an issue related to variable calculation order due to use of the OFFSET function which caused certain workbooks not to be fully calculated when subsequent calculation was required after the initial calculation. (Aug 7, 2014)
- 7.1.1.208 Fixed an inconsistency with Excel in the LOOKUP worksheet function where #VALUE! was returned if the Results range was not large enough for the index of the matched value. (Aug 7, 2014)
- 7.1.1.212 Fixed the CELL worksheet function to return the workbook name and worksheet name with the "address" option when a different worksheet is specified in the second argument. (Aug 7, 2014)
- 7.1.2.104 Fixed an issue with SUMIFS and AVERAGEIFS which could cause unnecessary circular reference detection, leading to incorrect cell calculation order, in the case where cells in the sum / average range which do not meet the criteria would lead to circular references if they did meet the criteria. (May 13, 2015)
- 7.1.2.108 Fixed issue where copying a worksheet containing charts did not correctly copy axis BaseUnit setting. (May 13, 2015)
- 7.1.2.108 Fixed an issue with sorting which caused incorrect formats on re-ordered cells with certain combinations of individual cell formats interacting with formats applied to an entire row or entire column. (May 13, 2015)
- 7.1.2.112 Fixed an issue which caused Spinner form controls controls with a non-zero minimum to fire extra shape action events in the Windows Forms WorkbookView control. (May 13, 2015)
- 7.1.2.112 Fixed an issue with data validation dropdown listboxes in WPF and Silverlight which caused the listbox to not have the focus if there is currently no selected item in the list. (May 13, 2015)
- 7.1.2.112 Fixed an issue which caused footers to be printed in the wrong location when printing with the Center Vertically option enabled. (May 13, 2015)
- 7.1.2.112 Fixed an issue which caused cells in column A to lose formatting previously applied to column A when an entire row is being formatted for the first time, the cell in column A of that row does not have a unique format, and the attribute being set matches the format previously applied to column A. (May 13, 2015)
- 7.1.2.112 Fixed issues when paging down or right on a WorkbookView with a custom DisplayReference and hidden rows or columns. (May 13, 2015)
- 7.1.2.116 Improved the performance of SUMIF for certain cases where the range being summed contains a large number of formula cells and those formula cells are not used by SUMIF because those rows do not meet the criteria. (May 13, 2015)
- 7.1.2.116 Fixed an issue which caused an exception to be thrown when SpreadsheetGear.Windows.Printing.WorkbookPrintDocument is used from multiple threads. (May 13, 2015)
- 7.1.2.122 Fixed the IFERROR function to pass through blank cells as blank rather than returning zero so that '=ISBLANK(IFERROR(A10,"ERROR"))' now returns TRUE if A10 is blank. (May 13, 2015)
- 7.1.2.122 Fixed deleting rows and columns to delete manual row and column page breaks as Excel does. (May 13, 2015)
- 7.1.2.124 Fixed an issue which caused rendering to fail when rendering cells with repeating characters in the number format. This only occurred in rare combinations of font sizes and column widths. (May 13, 2015)
- 7.1.2.124 Fixed an issue which caused formulas using the SUBTOTAL function to sometimes fail to automatically recalculate when the range being referenced by SUBTOTAL has row outlines and those outlines are collapsed or expanded. (May 13, 2015)
- 7.1.2.134 Fixed an issue which caused a NullReferenceException when editing formulas across multiple WPF WorkbookView controls which are contained in separate tabs of a tab control and linked to the same workbook set. (May 13, 2015)
- 7.1.2.140 Fixed issues which caused SpreadsheetGear help to sometimes be missing or out of date after running the SpreadsheetGear 2012 installer without first uninstalling a previous version of SpreadsheetGear 2012. (May 13, 2015)
- 7.1.2.140 Fixed an issue which caused an exception to be thrown after pasting rich text cells with Paste Special or copying them with IRange.Copy when certain SpreadsheetGear.PasteType options are used. (May 13, 2015)
- 7.1.2.140 Optimized COUNTIFS, SUMIFS and AVERAGEIFS functions to be faster and more memory efficient, particularly when they reference entire columns of mostly blank cells. (May 13, 2015)
- 7.1.2.140 Fixed COUNTIFS and COUNTIF to work correctly when the result is greater than or equal to 2^32. (May 13, 2015)
- 7.1.2.140 Fixed cells with word wrap enabled and repeating characters in the number format to render like Excel. (May 13, 2015)
- 7.1.2.140 Fixed an issue which caused copying of merged cells to fail to copy correctly when the columns in the source range are being replicated in the destination range multiple times. (May 13, 2015)
- 7.1.2.140 Fixed an issue which caused an exception to be thrown when reading some workbooks written by Google Docs Spreadsheet. (May 13, 2015)
- 7.1.2.140 Fixed an issue with all WorkbookView controls which caused calculation to be done on the UI thread when a chart is displayed for the first time, even though background calculation is enabled. (May 13, 2015)
- 7.1.2.156 Fixed printing hairline cell borders to print correctly when the Black and White printing option is used. (Dec 6, 2014)
- 7.1.2.156 Fixed ISheet.Select() and the IWorkbookWindowInfo.ActiveSheet and ActiveWorksheet property setters to throw an InvalidOperationException if the specified sheet is hidden. (Dec 6, 2014)
- 7.1.2.156 Fixed sorting to leave cell borders unchanged as Excel does. (Dec 6, 2014)
- 7.1.2.156 Fixed an issue which caused the copying of cell formats to too many rows if the source range had more than one row and the number of rows in the destination range was not an exact multiple of the number of source rows. (Dec 6, 2014)
- 7.1.2.156 Fixed an issue which caused Undo to sometimes incorrectly clear values from some cells after commands are performed on ranges with multiple areas. (Dec 6, 2014)
- 7.1.2.158 Fixed problems in the Windows Forms WorkbookView control caused by the fact that Windows sometimes calls WorkbookView.OnPaint(PaintEvengArgs) at unexpected times such as when disposing of a control or waiting on another thread due to COM Single Threaded Apartment message pumping. (May 13, 2015)
- 7.1.2.158 Fixed partially displayed merged cells to paint when the top left cell of the merged cell is modified but not displayed. (May 13, 2015)
- 7.1.2.158 Fixed an issue which caused some corrupt workbooks to go into an endless loop. (May 13, 2015)
- 7.1.2.162 Fixed an issue which caused Undo / Redo to fail to work correctly after selecting an item from a data validation listbox if the last cell with a data validation listbox was different from the cell where the Redo is being performed. (May 13, 2015)
- 7.1.2.166 Fixed an issue with the WPF WorkbookView control which caused WorkbookView.Print(false) to throw an exception. (May 13, 2015)
- 7.1.2.166 Added SpreadsheetGear.Windows.Printing.WorkbookPrintDocument.Print() method to enable printing without a WorkbookView control. (May 13, 2015)
- 7.2.1.102 Fixed an issue which caused the various *Defined properties associated with an IRange (such as IRange.Fill.ColorDefined) to incorrectly return true in certain cases when the specified range extends beyond the last column with any non-empty cells. (May 13, 2015)
- 7.2.1.102 Fixed to read Open XML files with no size information in the Zip local file header and with no Data Descriptor record following the compressed data. (May 13, 2015)
- 7.2.1.102 Added support for reading and writing Open XML workbooks larger than two gigabytes. (May 13, 2015)
- 7.2.2.104 Improved the RATE function to find an answer for more cases. (Feb 12, 2015)
- 7.2.2.104 Fixed XIRR to ignore cases where the value is empty or zero and the date is empty as Excel does. (Feb 12, 2015)
- 7.2.3.104 Improved IRange.GoalSeek to find an answer for more cases. (Feb 26, 2015)
- 7.2.4.102 Fixed an issue which caused Factory.GetWorkbookSet() to throw an exception when DateTimeFormatInfo.DateSeparator or TimeSeparator is an empty string. (Feb 27, 2015)
- 7.2.5.202 Fixed adding of shapes at given top + height positions to verify that rows are autofitted if needed before the shape is actually added so that IShape.Top and IShape.Height do not change once rows are eventually autofitted. (May 13, 2015)
- 7.2.5.202 Fixed issues with BorderPicker in RangeExplorer when border colors are undefined or not available. (May 13, 2015)
- 7.2.5.202 Fixed a problem which occurred when copying formulas with area references containing mixed relative / absolute references where row 1 and row 2 or column 1 and column 2 were swapped but the relative / absolute flag for the references was not swapped. (May 13, 2015)
- 7.2.6.108 Fixed IWorkbookSet.Dispose() to stop background calculation if needed before disposing of the workbook set. (Mar 21, 2015)
- 7.2.6.108 Fixed an issue which caused incorrect formula results for certain large workbooks with a complex calculation order. (Mar 21, 2015)
- 7.2.6.108 Added a workaround to read Excel 2003 (.xls) workbooks written by Microsoft SQL Server Reporting Services (SSRS) with invalid MSO drawing record lengths for JPEG and PNG images which have a size greater then 64K. (Mar 21, 2015)
- 7.2.6.108 Fixed autofilter issues with zero length text, leading whitespace and trailing whitespace. (Mar 21, 2015)
- 7.2.6.108 Fixed an issue which caused numbers formatted as text and text cells which yielded the same text to be duplicated in the autofilter dropdown values list. (Mar 21, 2015)
- 7.2.6.108 Fixed an issue which caused entering a formatted value such as '1.0e5' into a cell which is formatted with a format such as '[>100000]" ";0.000' (where the first number format section has a criteria but no actual number formatting) to incorrectly reformat the cell with the format of the entered value. (Mar 21, 2015)
- 7.2.7.100 Fixed an issue which caused the SUM function to return #REF! for a multisheet reference to a single cell (such as StartSheet:EndSheet!A1) in some cases, especially when used in array formulas. (May 13, 2015)
- 7.2.8.102 Fixed an issue which caused the Windows Forms WorkbookView control to sometimes fail to paint when there was a modal dialog box such as the data validation MessageBox displayed and a portion of the WorkbookView was uncovered. (Apr 6, 2015)
- 7.2.9.102 Fixed an issue which caused empty columns to be removed from autofilter ranges. (May 10, 2015)
- 7.2.9.102 Improved the performance and capacity of workbooks with large amounts of text in unique text cells. (May 10, 2015)
- 7.2.9.102 Fixed printing a worksheet with the print area set to entire rows and or entire columns to trim the actual printed range to the used range of the worksheet. (May 10, 2015)
- 7.2.11.100 Fixed an issue which caused inserting or deleting cells to incorrectly fix up conditional format formulas in certain cases where there are multiple condition formulas and certain relative references in some of the condition formulas. (Aug 20, 2015)
- 7.2.11.100 Fixed an issue which caused COUNTBLANK to return an incorrect value if the first column of the specified range is beyond column A and is also beyond the first column of the worksheet containing non-blank cells. (Aug 20, 2015)
- 7.2.12.100 Fixed problems with WorkbookXpsDocument.SaveToMemory and SaveToStream. (Aug 20, 2015)
- 7.2.13.100 Added a work around for an issue which caused Excel to be unable to open a workbook with a worksheet name such as "D5.1" and a formula such as ''=SUM(D5.1!A1:D5.1!B2)". (Aug 20, 2015)
- 7.2.14.100 Fixed issue with automatic row heights involving hidden columns within a merged area with WrapText enabled or with CenterAcrossSelection alignment. (Aug 20, 2015)
- 7.2.15.100 Fixed an issue which caused SpreadsheetGear to write cell formulas which Excel could not read when worksheets names started with characters which looked like an R1C1 style row or column reference (such as "R1xxx" or "C2xxx"). (Aug 20, 2015)
- 7.2.16.100 Fixed an issue which caused some unicode whitespace characters to be lost when reading text from an Open XML workbook. (Aug 20, 2015)
- 7.3.3.100 Fixed Find and Replace to no longer update the underlying cell multiple times when doing multiple replacements in a single cell to fix cases such as replacing all occurrences of "#" with "=" in a cell which starts out as "#B1#B2". This fix also speeds up Find and Replace for multiple replacements in single cells. (Mar 16, 2016)
- 7.3.4.100 Add a work around for a System.Drawing.Graphics.MeasureString(...) bug which causes an exception to be thrown for text longer than 32,000 characters on Windows 8+. (Mar 16, 2016)
- 7.3.4.100 Fixed an issue which caused IRange.Copy to copy over locked cells in certain cases where the source range and destination range do not have the same number of rows and columns. (Mar 16, 2016)
- 7.3.5.100 Fixed IRange.RowHeight to limit the new height to 0 <= height <= 409 as Excel does. Also fixed IRange.AutoFit() to limit row heights to a maximum of 409. (Mar 16, 2016)
- 7.3.6.100 Fixed an issue with the COUNTIFS function for certain cases involving blank criteria columns. (Mar 16, 2016)
- 7.3.6.100 Fixed an issue which caused SpreadsheetGear to return different results than Excel for certain cases where PRODUCT is used on ranges with blank cells. (Mar 16, 2016)
- 7.3.6.100 Fixed an issue in the CELL function when using the "address" option to better match Excel when workbook names have spaces in them. (Mar 16, 2016)
- 7.3.6.100 Added a workaround for cases where newer versions of windows throw an exception when rendering cells with >32000 characters with GDI+. (Mar 16, 2016)
- 7.3.7.100 Fixed the INDEX function to return #REF! if row > 1 or column > 1 in cases where the reference argument is a single cell reference, as Excel does. (Mar 16, 2016)
- 7.3.8.100 Fixed a problem which caused some large and complex workbooks to calculate incorrectly or to throw an exception during calculation. (Mar 16, 2016)
- 7.4.1.100 Added a "NoSharedFormulas" option to IWorkbookSet.Experimental which forces SpreadsheetGear to write workbooks with no shared formulas. (Mar 16, 2016)
- 7.4.1.100 Fixed to throw an exception when setting IFont.Name to "" and to convert font names of "" to IWorkbookSet.DefaultFontName when opening workbooks because Excel has problems opening workbooks which contain font names set to an empty string. (Mar 16, 2016)
- 7.4.2.100 Fixed an issue which caused cell text to sometimes render multiple times without clearing the cell background in the Windows Forms WorkbookView control leading to blurry text due to anti-aliasing artifacts. (Mar 16, 2016)
- 7.4.3.100 Changed the WorkbookView warning tooltip which is displayed if GetLock is called without a corresponding ReleaseLock to only be displayed if their is a debugger attached. (Mar 16, 2016)
- 7.4.4.100 Fixed an issue which caused background calculation to fail to calculate in some cases. (Mar 16, 2016)
- 7.4.6.100 Improved the way the WPF WorkbookView control displays rich formatted text with blank lines. (Oct 2, 2016)
- 7.4.6.100 Fixed a problem which caused goal seek to hang in certain cases where it was not able to converge. (Oct 2, 2016)
- 7.4.7.100 Fixed certain cases of copying formulas which reference sheet specific defined names to better match Excel's behavior. (Oct 2, 2016)
- 7.4.8.100 Added a work around to ignore unsupported worksheet protection passwords which use newer Excel 2013 and Excel 2016 algorithms so that workbooks can be opened. (Oct 2, 2016)
- 7.4.9.100 Fixed an issue which caused an invalid workbook to be created when overwriting a multi-cell array formula with a non formula value using the IRange.FormulaArray property or when using CTRL+SHIFT+Enter to enter the value. (Oct 2, 2016)
- 7.4.9.100 Fixed problem where CTRL+Enter or CTRL+SHIFT+Enter would not repaint entire range when entering constants into rows with no formulas. (Oct 2, 2016)
- 7.4.10.100 Updated all tools used to build SpreadsheetGear to the latest versions to fix an issue which caused installing on Windows 10 to fail in some cases. (Oct 2, 2016)
- 7.4.11.100 Improved the MROUND function to better match Excel for values which are just under the half-way point beyond the 15th least significant decimal digit. (Oct 2, 2016)
- 7.4.11.100 Added a workaround to read Open XML workbooks which have references to missing cell style format records. (Oct 2, 2016)
- 7.4.11.100 Fixed a problem which caused the BIN2HEX function to throw an exception during calculation if the 'number' argument was an empty string. (Oct 2, 2016)
- 7.4.11.100 Fixed an issue which caused the CELL function to return the incorrect value for the 'filename' option in some cases. (Oct 2, 2016)
- 7.4.12.100 Fixed IShape.Name to return an automatically generated name such as "Button 1" or "Rectangle 2" when the shape has a shape property but it is a zero length string. (Oct 2, 2016)
- 7.4.13.100 Fixed an issue which caused an exception to be thrown when reading workbooks written by Excel Mobile. (Oct 2, 2016)
- 7.4.13.100 Fixed an issue which caused the WPF WorkbookView control to throw an exception when rendering a cell containing an empty string and a number format where the text format is "@_)". (Oct 2, 2016)
- 7.4.14.100 Fixed to keep quotes in non-quoted cells when reading CSV and TXT files as Excel does. (Oct 2, 2016)
- 7.4.16.100 Fixed the intersection, union and range operators to handle arguments with array formulas. (Oct 2, 2016)
- 7.4.17.100 Fixed an issue which caused the INDIRECT function to return incorrect results in certain cases when it is used in an aggregate function (such as SUM) and the arguments to INDIRECT return a single valued array result (such as ROW($E$5) or COLUMN($E$5))). (Oct 2, 2016)
- 7.4.18.100 Fixed cases where the XIRR and XNPV functions were not evaluating the values and dates passed to them as arrays even though they were used in an array formula cells. (Oct 10, 2016)
- 7.4.18.100 Fixed XIRR to handle out of order dates. (Oct 10, 2016)
- 7.4.18.100 Fixed some problems with text comparisons when the text contains certain characters such as an apostrophe. (Oct 10, 2016)
- 7.4.19.100 Fixed the INDIRECT function to allow trailing spaces after defined names as Excel does. (Oct 14, 2016)
- 7.4.20.100 Fixed a problem which caused some complex formulas which use array formula iteration on multiple nested levels to return incorrect results. (Nov 15, 2016)
- 7.4.20.100 Fixed a problem which caused an exception to be thrown when formatting a number > 1.7976931348623157E+306 as a percentage. (Nov 15, 2016)
- 7.4.21.100 Fixed to allow custom function names UNION, RANGE and ISECT as Excel does. (Dec 1, 2016)
- 7.4.21.100 Fixed an issue which caused the IRange[string name] indexer to sometimes fail to find a workbook scoped defined name after deleting a worksheet scoped defined name if the worksheet scoped name is the same as the workbook scoped name. (Dec 1, 2016)
- 7.4.21.100 Improved performance for workbooks which contain a large number of formula cells with text results. (Dec 1, 2016)
- 7.4.22.100 Fixed an issue which causes calculation to be incomplete in some cases if a workbook set has not been fully calculated since the last formula change and cell values are accessed from cell formulas which are dependant on circular references in other worksheets or other workbooks. (Dec 1, 2016)
- 7.4.23.100 Fixed border rendering to prioritize conditional format borders over cell borders even when the cell border is a heavier (wider or darker) border as Excel does. (Jan 24, 2017)
- 7.4.24.100 Fixed a problem which caused IFERROR to return incorrect results for some very complex workbooks. (Jan 24, 2017)
- 7.4.24.100 Fixed a problem with SUMIF and COUNTIF which caused certain workbooks to not be fully calculated if the third argument to SUMIF or COUNTIF is a smaller area than the first argument. (Jan 24, 2017)
- 7.4.25.100 Fixed problems with BETA.DIST and BETA.INV which occurred when the alpha and / or beta arguments are equal to 1.0. (Jan 24, 2017)
- 7.4.26.100 Fix the WEEKNUM function to handle return types other than 1 and 2. (Feb 1, 2017)
- 7.4.26.100 Fixed issue with "A/P" NumberFormat code incorrectly flipping "A" and "P". (Feb 1, 2017)
- 7.4.26.100 Fixed an issue with LOOKUP, HLOOKUP, VLOOKUP and MATCH which caused them to incorrectly detect circular references in certain cases when doing a columnar linear search and the matching cell is located before a cell which would cause a circular reference. (Feb 1, 2017)
- 7.4.27.100 Fixed a regression introduced in hotfix V7.4.24.102 which caused IFERROR to return errors in some cases when used in array formulas. (Feb 7, 2017)
- 7.4.28.100 Fixed a problem which caused conditional formats in certain workbooks to be read with incorrect relative references. (Mar 15, 2017)
- 7.4.28.100 Added workaround to read open xml workbooks with a password to protect the workbook structure by ignoring the password hash instead of throwing an exception. (Mar 15, 2017)
- 7.4.28.100 Fixed an exception which occurred when selecting a range from the FormulaBar address box or the API when the selection is entire rows or columns and the top-left cell of the selected range is a merged cell not fully contained by the newly selected rows / columns. (Mar 15, 2017)
- 7.4.29.100 Fixed an issue with series line markers displaying in Excel even though the style is set to None in Excel 2003 (xls) workbooks. (Mar 21, 2017)
- 7.4.31.100 Added workaround to read Open XML workbooks with non-empty XML elements where empty elements are specified by the documentation. (May 16, 2017)
- 7.4.32.100 Fixed an issue which caused entering text such as "1-3a" to incorrectly format a cell as a date ("d-mmm" in US English). (Jun 4, 2017)
SpreadsheetGear 2010 for .NET Framework (V6)
New Features
- AutoFilter Support Including: 1.) Top or bottom n items. 2.) Top or bottom n percent. 3.) Above or below average. 4.) Last day, month, quarter, week or year. 5.) This day, month, quarter, week or year. 6.) Next day, month, quarter, week or year. 7.) Specific day, month, year, hour, minute or second. 8.) Year to date. 9.) Filter by font color or interior color. 10.) Custom criteria such as ">50". 11.) Filter by specific list of values. 12.) Support for the SUBTOTAL function which works in conjunction 13.) with autofilters to return various statistics for filtered items including average, count, max, min, product, standard deviation, sum and variance. 14.) Autofilter support in many commands including cell formatting, copy & paste, fill, delete and more.
- Charting Features: 1.) Radar charts. 2.) Logarithmic scales. 3.) Date scales. 4.) Error bars, including error amounts as fixed values, percentage, standard deviation, standard error, and custom formulas. 5.) Trendlines, including linear, logarithmic, exponential, power, polynomial, and moving average. 6.) Series line smoothing based on the Catmull-Rom spline. 7.) Minor tick and gridline rendering. 8.) Dashed line style rendering and APIs. 9.) AxisCrosses.Minimum option
- Excel 2010 support (limited to fixing compatibility issues due to changes in the way Excel 2010 reads and writes .xls,.xlsx and .xlsm files).
- Reading and writing the macro-enabled Excel 2007-2016 Open XML (.xlsm) file format.
- Reading and writing password-protected .xls, .xlsx and .xlsm workbooks.
- Visual Studio 2010 and .NET 4.0 support including support for the new .NET Framework 4 Client Profile.
- Added support for rendering grouped shapes and for reading and writing grouped shapes in Open XML workbooks.
- Added CellBeginEditEventArgs.Reason property which returns CellBeginEditReason enumeration.
Issues Addressed
- Changed the way some cell formula defined name references are copied when copying entire worksheets to reflect the same change made by Microsoft in Excel 2010.
- Modified the ISheet.Name property setter to enforce Excel's sheet name limitations (see the ISheet.Name documentation for more information).
- Improved compatibility with Excel for what is and is not a legal defined name.
- Fixed converting text to numbers to allow spaces (char == 0x20) as thousands separators when the CultureInfo specifies that the thousands separator is 0xA0 as is the case with the French CultureInfo.
- Fixed a problem with rounding floating point numbers on 64 bit .NET 4.0 which resulted from a bug in the .NET 4.0 just in time compiler generating invalid code in a release build when run with no debugger.
- Fixed a problem with autofitted rows and wrapped text which caused some cells with wrapped text to be ignored.
- Fixed a problem with inserting and deleting rows and columns not properly updating the number of frozen rows and columns.
- Fixed to disable zooming with Ctrl+MouseWheel when in edit mode.
- Fixed IRange.Insert and IRange.Delete to throw exceptions if the worksheet is protected as Excel does.
- Fixed Autofill to allow filling when the cells being filled from are locked, the cells being filled are unlocked, and the worksheet is protected.
- Fixed cell comments in merged cell areas which were not popping up unless hovering over the top-left cell of the merged area.
- Fixed the creation of merged cell areas to properly handle cell comments, data validation and conditional formats in cells which no longer exist after merging.
- Fixed issues which sometimes occurred when frozen panes were combined with data validation list boxes.
- Fixed issue with the sheet tab bar painting incorrectly over the bottom-right corner of the WorkbookView.
- Fixed drop-lines, hi-low lines and up-down bar rendering to use correct order when used on multiple chart groups.
- Fixed Ctrl+Home to work correctly when no visible rows / columns are viewable on screen.
- Fixed NullReferenceException which occurred when reading shape styles for picture shapes in Open XML workbooks.
- Added support for reading shapes which use the oneCellAnchor flag in Open XML workbooks.
- Fixed a problem which caused Excel 2007 to sometimes have problems handling workbooks written by SpreadsheetGear which contain references to cells beyond the Excel 2003 64K row x 256 column limit, including some cases with entire row / column references such as 5:5 or E:E.
- Fixed an issue with individual data label formatting being lost when opening and then saving with SpreadsheetGear and then opening in Excel.
- Fixed a number of Excel 2010 file format compatibility issues due to differences between Excel 2007 and Excel 2010.
- Fixed date / time parsing issues with text such as "5-001" and "05:030" which are no longer parsed as dates and times.
- Fixed a problem which caused Data Validation to not properly honor IgnoreBlanks in some cases.
- Fixed problem with grouped rows / columns sometimes not being scrolled into view when expanding the top row or left column of a group.
- Added ability to undo outline group expanding and collapsing.
- Make actions in validation lists and form controls linked to cell values undoable.
- Fixed inserting and deleting to adjust row and column manual pagebreaks.
- Fixed inserting and deleting entire rows and columns to fix up frozen rows and columns as Excel does.
- Fixed an issue where comments were not being displayed across frozen panes.
- Fixed problems which could cause automatic row height to be incorrect after inserting and deleting cells / rows / columns.
- Fixed issues with line breaks not being written as paragraph elements in the Open XML file format.
- Fixed a problem where cutting a formula such as "=SUM(A1:A4)" from Sheet1!A5 and pasting the formula to Sheet2!A5 incorrectly changed the new formula to "=SUM(Sheet2!A1:A4)" rather than the correct "=SUM(Sheet1!A1:A4)".
- Fixed a problem which caused unhiding rows / columns at the bottom / right edge of frozen panes to scroll up / left into the frozen rows / columns.
- Fixed parsing of times to handle abbreviated times such as "5 p" and "5 a".
- Fixed handling of leading spaces in hard coded validation lists such as "Red, Green, Blue" (two spaces before Blue) to work as Excel does by ignoring spaces for validation and by not displaying the spaces in the dropdown listbox.
- Fixed commands which are not allowed for partial array formulas to also check for data tables.
- Fixed to read Open XML workbooks with streams having an uncompressed size >= 2GB.
- Fixed an exception and disabled CategoryType option in Chart Explorer when used on chart types which do not support it.
- Fixed the ISheet.Visible and ISheet.Name property setters to throw exceptions when the containing workbook is protected.
- Fixed to convert square braces in sheet names to parenthesis upon writing Open XML workbooks as Excel does.
- Fixed ISheet.CopyAfter and ISheet.CopyBefore to trim the length of new sheet names as needed to avoid creating invalid sheet names.
- Fixed hairline cell border rendering to use a 50% hatch pattern fill, similar to Excel.
- Fixed a problem which caused data validation using a list to fail to properly link the listbox to the cell being validated if the workbook set is using ReferenceStyle.R1C1.
- Fixed a problem which caused SpreadsheetGear to write an invalid data validation record to the Excel 97-2003 file format after reading an Open XML workbook with a data validation rule which contained a comma separated list for the criteria.
- Fixed IStyles.Borders[BordersIndex index] to throw an exception if an invalid index is passed.
- Added support for setting IRange.Value to object[,] for a single cell IRange.
- 6.0.3.106 Fixed a problem which caused autofilter dropdowns to not reposition correctly in Excel 2003 after opening a workbook with autofilters saved by SpreadsheetGear 2010 and then resizing a filtered column. (Jun 17, 2010)
- 6.0.3.114 Fixed a problem which caused incorrect formula results to be returned in certain cases where defined name formulas which reference certain functions (such as INDEX) are modified. (Jun 24, 2010)
- 6.0.3.114 Improved XIRR to converge on an answer for wider ranges of inputs. (Jun 24, 2010)
- 6.0.3.114 Fixed a problem which caused autofitting rows to sometimes ignore some cells if there are unformatted cells above them. (Jun 24, 2010)
- 6.0.3.118 Fixed a problem with undo after clearing cells which sometimes caused automatic row heights not to be adjusted as needed for text cells with wrapped text. (Jun 27, 2010)
- 6.0.3.118 Fixed autofit rows to work with cells which use wrapped text and HAlign.CenterAcrossSelection. (Jun 27, 2010)
- 6.0.3.128 Fixed HLOOKUP, VLOOKUP, LOOKUP, MATCH, SUMIF, COUNTIF, Database functions and autofilters to handle the nuances of the escape character ('~') as Excel does (some of these escape any character following '~' and some escape only '?' and '*'). (Jun 29, 2010)
- 6.0.3.128 Fixed an exception which occurred when auto-filling and scrolling over hidden rows or columns by dragging the mouse outside of the WorkbookView. (Jun 29, 2010)
- 6.0.3.134 Fixed autofilters which contain a list of values to ignore leading and trailing spaces when text cells or number formats have leading or trailing spaces. (Jul 21, 2010)
- 6.0.3.134 Fixed autofilters which contain a list of values to ignore case as Excel does. (Jul 21, 2010)
- 6.0.3.134 Fixed autofilter button status to repaint correctly when autofilters are modified using the API. (Jul 21, 2010)
- 6.0.3.134 Added a workaround for shapes in xls workbooks which contain an invalid image fill property. (Jul 21, 2010)
- 6.0.3.136 Fixed a divide by zero exception which occurred when using IRange.Copy where the source range consists entirely of rows hidden by an autofilter. (Aug 2, 2010)
- 6.0.3.138 Fixed an issue with form controls which remained visible when the rows containing them were hidden. (Aug 5, 2010)
- 6.0.3.140 Fixed a problem with writing Excel 97-2003 (.xls) workbooks which caused Excel 2007 and Excel 2010 to sometimes use an incorrect cell format. (Aug 13, 2010)
- 6.0.3.140 Improved color palette matching when converting an RGB color to a color index such as when using one of the ColorIndex properties or when saving to Excel 97-2003 (.xls) workbooks. (Aug 13, 2010)
- 6.0.3.142 Fixed a problem with IWorkbookSet.CalculateFullRebuild which caused problems with circular reference formula cells which could lead to a lack of iteration for circular formulas. (Aug 16, 2010)
- 6.0.3.144 Fixed ISheet.EvaluateRange, EvaluateRanges, EvaluateValue and EvaluateValues to take into account the active cell so that formulas which depend on them (such as formulas which use the ROW() and COLUMN() functions) will work correctly. (Aug 25, 2010)
- 6.0.3.144 Fixed problems which occurred when parsing and unparsing cell references associated with charts and data validation lists when reading and writing the Open XML (.xlsx) file format where a workbook is using the R1C1 cell reference style. (Aug 25, 2010)
- 6.0.3.144 Added a workaround for a problem which caused Excel to ignore some formula cells which result in text values when copying to the clipboard from SpreadsheetGear and pasting to Excel. (Aug 25, 2010)
- 6.0.3.144 Fixed a problem which caused formulas using COUNTBLANK to sometimes not be updated when changes are made to ranges they depend on. (Aug 25, 2010)
- 6.0.3.154 Improved number formatting rounding to be more compatible with Excel. (Sep 24, 2010)
- 6.0.3.154 Fixed issues where the display of formula results in the WorkbookView were sometimes not being updated with worksheets that also contain conditional formats that use formulas. (Sep 24, 2010)
- 6.0.3.156 Fixed a problem which could occur when copying cells within a column after inserting or deleting rows within that column. (Sep 27, 2010)
- 6.0.3.160 Fixed a problem which caused formula cells involved in circular references to sometimes not be calculated as needed after making a change to a workbook (such as inserting, deleting or moving cells). (Oct 13, 2010)
- 6.0.3.160 Reduced memory usage for some single cell array formulas. (Oct 13, 2010)
- 6.0.3.162 Fixed to throw an exception rather than hanging when trying to read certain workbooks which contain corrupt compound document indexes. (Oct 20, 2010)
- 6.0.3.162 Fixed a performance problem which caused wildcard searches with '*' to run very slowly as the number of sequential '*' characters increased. (Oct 20, 2010)
- 6.0.3.168 Fixed IRange.HasFormulaDefined and IRange.HasArrayDefined to return the correct result when the IRange being checked refers to cells below the last row in a column or beyond the last column in a worksheet. (Nov 8, 2010)
- 6.0.3.168 Fixed a problem with IRange.GoalSeek which caused some solvable cases to fail to converge. (Nov 8, 2010)
- 6.0.3.170 Fixed a problem which caused exceptions to be thrown when cells have formulas with the HYPERLINK function where the argument(s) to the HYPERLINK function have certain expressions involving cell references. (Nov 30, 2010)
- 6.0.3.170 Improved goal seeking to converge in more cases. (Nov 30, 2010)
- 6.0.3.170 Fixed a problem with deleting entire rows or entire columns in a frozen pane which sometimes caused frozen rows or columns to be redisplayed in the non-frozen pane(s). (Nov 30, 2010)
- 6.0.3.170 Fixed to check for minimum ScrollRow when ungrouping across freeze panes and setting the ScrollRow in order to scroll cells into the viewing area. (Nov 30, 2010)
- 6.0.3.170 Fixed issues when formatting or setting text on individual chart series data labels which caused Excel 2003 to crash when opening XLS files saved from SpreadsheetGear and moving the formatted data labels. (Nov 30, 2010)
- 6.0.3.170 Fixed a problem with undoing deletion of cells which caused the undo to insert entire rows even though only partial rows were deleted. (Nov 30, 2010)
- 6.0.3.172 Added a workaround to read Open XML workbooks written by 3rd party software with invalid named cell style records. (Dec 3, 2010)
- 6.0.3.172 Fixed a problem reading certain shapes and charts written by Excel 2010. (Dec 3, 2010)
- 6.0.3.174 Fixed a problem with parsing VLOOKUP and HLOOKUP when used in the first argument to the IF function inside of an array formula. (Dec 3, 2010)
- 6.0.3.174 Fixed a problem with autofilters when using AutoFilterOperator.Values with values which start with one of "<>=" to allow a leading "=" as Excel does. (Dec 3, 2010)
- 6.0.3.178 Fixed an exception which occurred when columns were deleted where the worksheet has an autofilter which starts in the column >= the last deleted column + 2. (Dec 9, 2010)
- 6.0.3.178 Fixed an Excel compatibility problem with reading and writing xls workbooks with formula cells containing string results where the strings are longer than approximately 4100 characters. (Dec 9, 2010)
- 6.0.3.178 Fixed a problem which caused data validation listbox updating to continually interrupt background calculation in some cases which could lead to very long background calculation times. (Dec 9, 2010)
- 6.0.3.178 Added a workaround to read invalid cell formulas written by Apple Numbers. (Dec 9, 2010)
- 6.0.3.184 Fixed an issue with formula cells not rendering correctly after changing a referenced cell when the WorkbookView has multiple frozen panes. (Jan 20, 2011)
- 6.0.3.184 Fixed a scroll position issue which occurred when a one row DisplayReference is used in conjunction with frozen panes at the bottom of that one row. (Jan 20, 2011)
- 6.0.3.184 Fixed some issues with DataValidation and AutoFilter custom dropdown controls when running the Windows Forms WorkbookView in WPF. (Jan 20, 2011)
- 6.0.3.186 Fixed IRange.Copy when using PasteType.Values or PasteType.ValuesAndNumberFormats to honor the IWorkbookSet.Calculation setting. (Jan 26, 2011)
- 6.0.3.192 Fixed a bug with LINEST and LOGEST which caused incorrect results to be returned or exceptions to be thrown when KnownY's are transposed and KnownX's are ommitted and both of the 'const' and 'stats' parameters are true. (Mar 16, 2011)
- 6.0.3.192 Fixed an issue which caused shapes to sometimes be incorrectly positioned after clearing autofilters. (Mar 16, 2011)
- 6.0.3.192 Fixed undoing of cell formatting to no longer incorrectly clear merged cells. (Mar 16, 2011)
- 6.0.3.194 Added a workaround to deal with xls workbooks written by SSRS with incorrect column width information so that Excel 2003 does not revert to default column widths. (Mar 22, 2011)
- 6.0.3.196 Fixed a bug which occurs with the use of certain combinations of using the IF function in an array formula in a complex workbook. (Apr 4, 2011)
- 6.0.3.196 Fixed a problem which caused the OFFSET function to sometimes return incorrect results when used in an array formula or as an argument to a function which expects an array. (Apr 4, 2011)
- 6.0.3.200 Fixed opening Open XML workbooks with data validation lists such as "Red,Green,Blue" to work correctly when opening into a workbook set with an argument seperator which is not a comma. (Jun 9, 2011)
- 6.0.3.202 Fixed a problem writing data validation formulas with 3d relative references to xls files. (Jun 27, 2011)
- 6.0.3.204 Added workaround to read Open XML workbooks written by certain 3rd party software. (Jun 29, 2011)
- 6.0.3.206 Fixed a problem with the SMALL, LARGE, PERCENTILE, QUARTILE, TRIMMEAN, RANK and PERCENTRANK functions which caused formulas containing them to sometimes not be recalculated as needed. (Aug 17, 2011)
- 6.0.3.208 Fixed a problem which caused the QUARTILE and PERCENTILE functions to return incorrect results for certain complex workbooks. (Aug 23, 2011)
- 6.0.3.214 Fixed a problem with some references to external workbooks not updating when the referred to workbook is loaded into a workbook set after the referring workbook. (Oct 8, 2011)
- 6.0.3.216 Fixed deleting of a named cell style which is in use to revert the referring cells to the default named cell style rather than leaving the workbook in an undefined state. (Oct 12, 2011)
- 6.0.3.218 Fixed cases where ROUND function was not compatible with Excel. (Nov 7, 2011)
- 6.0.3.224 Fixed XIRR to solve certain cases which used to return an error. (Jan 17, 2012)
- 6.0.3.224 Fixed a problem with autofilter dropdowns which caused it to sometimes not include all values and / or colors. (Jan 17, 2012)
- 6.0.3.226 Fixed a problem which caused cells which are dependant on What If tables to sometimes not reflect the up to date What If table result when the API is used to get the values of cells without first calling IWorkbookSet.Calculate(). (Feb 13, 2012)
- 6.0.3.230 Fixed a problem which caused reading of an Open XML workbook containing a conditional format with a vertical alignment setting of baseline to change the setting to superscript. (Apr 4, 2012)
- 6.0.3.232 Fixed a calculation problem which caused the IF function to return the wrong result when used in an array formula in some complex workbooks. (Apr 23, 2012)
SpreadsheetGear 2009 for .NET Framework (V5)
New Features
- Support for the 93 functions which are in the Excel 2003 Analysis Toolpak as well as the undocumented DATEDIF function bringing the total number of supported functions to 331.
- CSV and tab separated text support (read and write).
- Drag Fill / Auto Fill API & UI including support for numbers, dates, times, month names, day names and certain text patterns.
- Data Series API & UI including support for automatic, chronological, linear, growth, day, weekday, month, year, start value, step value, stop value and the ability to use regression for linear or exponential trends.
- Single variable and single target goal seeking API & UI.
- Chart axis title rendering.
- Bubble chart rendering.
- Rotated text support in charts and cells.
- Enhanced fill option support including gradient API & UI.
- Many Range Explorer, Chart Explorer and Shape Explorer enhancements.
- Added WorkbookView.BeginEdit(), WorkbookView.CancelEdit() and WorkbookView.EndEdit() methods as well as a WorkbookView.IsEditing property.
- Added support for hidden chart series when linked to hidden rows or columns when the PlotVisibleOnly option is enabled.
- Added support for font names and font sizes in print headers and print footers.
- Added IArguments.GetArrayFormulaInfo(ref int row1, ref int col1, ref int row2, ref int col2) method to return information about the array formula currently being evaluated, if any.
- Added SetDataFlags.WrapToNewWorksheet64K to provide support for wrapping at the Excel 97-2003 64K row limit.
- Added more samples to the SpreadsheetGear Explorer Sample Solutions for C# and VB.
- 5.1.1.102 Added enhanced printing API and UI including support for printing multiple worksheets, ranges and charts in a single print job as well as providing a public WorkbookPrintDocument class and several new printing samples in the SpreadsheetGear Explorer sample solutions. (Jul 21, 2009)
- 5.1.1.104 Added UI support for setting and displaying hyperlink screen tips. (Jul 30, 2009)
- 5.1.1.118 Added MarkerBackgroundColor and MarkerForegroundColor properties to the ISeries and IPoint interfaces. (Aug 20, 2009)
- 5.1.1.154 Added support for x86 and x64 versions of Windows 7 and Windows Server 2008 R2. (Nov 16, 2009)
Issues Addressed
- Fixed bug in bar chart data label layout which caused labels to be positioned on the wrong side of the axis on bars with the same y1 and y2 positions.
- Fixed issues which caused exceptions when painting or laying out charts which have a width or height of zero.
- Fixed issues with chart data point and data label formatting not being read from Open XML (xlsx) correctly with certain workbooks.
- Fixed category axes to wrap on hyphen characters similar to Excel.
- Fixed bar chart data label manual layout offsets to work correctly on reversed axes.
- Fixed textbox and comment to no longer allow editing with the keyboard when the "lock text" flag is set and "locked" is not set.
- Fixed chart placement issues when the WorkbookView area is smaller than size of a default chart.
- Fixed mouse handling to be less sensitive so that a simple click or double click on a shape or chart is less likely to inadvertently move the shape or chart.
- Fixed row and column mouse resizing logic to allow for unhiding hidden rows and columns at the bottom or right edge of the display area.
- Fixed legend and data label text to render more like Excel when linked to empty cell values.
- Fixed Range, Chart and Shape Explorers to select a better default panel when they are displayed without all panels visible.
- Fixed legend entry rendering order to work like Excel on stacked charts and horizontal bars.
- Fixed IOutline.ShowLevels(int rowLevels, int columnLevels) to correctly remember the collapsed and expanded state of each group so that expanding in the future will work as expected.
- Fixed issues when right-clicking an existing range selection when a WorkbookView has frozen panes.
- Fixed a number of issues related to Excel 97-2003 (xls) and Excel 2007 (xlsx) file format compatibility.
- Fixed issues when scaling chart axes with very large and very small values.
- Fixed chart series to be plotted on a visible axis if the axis the series is set to be plotted on is hidden.
- Fixed auto series marker sizes to be based on the weight of series lines.
- Fixed scroll position issues with frozen panes after freezing, removing split, and then freezing at same cell again.
- Fixed new textboxes to default to a solid fill.
- Fixed entering of some special case values such as “5 1/8%” to work as Excel does.
- Fixed some cases where a cell with overflowing text which is not currently in view, but whose text overflows into the current view, does not repaint correctly when the cell is modified.
- Fixed some calculation problems which occurred in certain cases when a single workbook set contains multiple workbooks with different IWorkbook.Date1904 settings.
- Fixed a problem with the built-in fraction custom number formats "# ?/?" and "# ??/??" which occurred with certain CultureInfos.
- Fixed the IRange.Replace(…) method to fire a RangeChanged event on the range of cells actually modified.
- Fixed some number formats, such as “+0”, to display like Excel instead of adding a backslash before certain characters (SpreadsheetGear 2008 displayed this as “\+0”). This only affects the number format, not the actual formatted text for a cell.
- Fixed some problems with reading and writing text objects.
- Fixed the FormulaBar and the IRange.Entry property to display the underlying number instead of an empty string if a date / time cell contains an invalid date / time.
- Fixed dependant cells to calculate correctly after sorting.
- Fixed some problems with cell selections and with the Range / Chart / Shape Explorers which occurred when background threads were acquiring locks and making changes to a workbook while the user was interacting with the workbook in the WorkbookView or explorers.
- Fixed problems reading workbooks which have conditional formats and data validation formulas with range / union / intersection operators.
- Fixed the IRange.Value property so that setting it to an instance of System.DateTime will format the cell with an appropriate date / time number format if the cell does not already have a date / time number format.
- Fixed a problem which caused Excel 2007 to sometimes be unable to read a workbook after copying cells which reference a workbook global defined name between different workbook sets.
- Fixed issues with mouse selections of an entire row or column where the row or column has merged cells.
- Fixed the line from a comment to the cell containing the comment to paint correctly when the comment and the cell it belongs to are not both displayed in the current view.
- Fixed some issues with scrollbars which were particularly apparent with wide columns or tall rows.
- Fixed a problem with the HYPERLINK function which caused an exception to be thrown in some cases when the cell containing the HYPERLINK function was clicked.
- 5.0.3.108 Fixed SpreadsheetGear.Drawing.Image to take the scale (zoom) into account when rendering a single shape. (Jun 23, 2009)
- 5.0.3.108 Fixed issues with editing when edit is ended or objects have been disposed during the EndEdit or CancelEdit process. (Jun 23, 2009)
- 5.0.3.108 Fixed the behavior of data validation lists where an item in the list is a blank cell or an empty string and IgnoreBlanks is true to work more like Excel. (Jun 23, 2009)
- 5.0.3.108 Fixed issue when setting the plot area bounds from the API after reading workbooks with "inner" manual plot layout. (Jun 23, 2009)
- 5.0.3.108 Fixed issues with rotated numbers when shrinking and filling with "#" when too large for cell. (Jun 23, 2009)
- 5.0.3.108 Fixed to support newline characters in number formats in cells. (Jun 23, 2009)
- 5.0.3.108 Fixed writing of Excel 97-2003 (xls) workbooks to write the protect objects and protect scenarios records in addition to the protect worksheet record as Excel does. This fixes a problem which caused shapes and charts to be editable in Excel if you saved a workbook with locked shapes or charts on a protected worksheet to the xls file format. (Jun 23, 2009)
- 5.0.3.110 Fixed a problem which caused IRange.EndUp and IRange.EndLeft to sometimes skip the last cell in a column or the last cell in a row. (Jun 26, 2009)
- 5.0.3.112 Fixed a problem which caused the order of workbooks in the IWorkbook.Worksheets collection to be incorrect after calling ISheet.MoveBefore or MoveAfter (the IWorkbook.Sheets collection did not have this problem). (Jul 6, 2009)
- 5.0.3.112 Fixed a calculation problem which could sometimes occur when a workbook which references another workbook is loaded and calculated before the referenced workbook, and then the referenced workbook is loaded into the same workbook set and changed, where the changes in the referenced workbook were sometimes not reflected in the referring workbook. (Jul 6, 2009)
- 5.0.3.116 Fixed a problem which caused Excel 2007 to write xls workbooks with invalid formulas after Excel 2007 had read certain workbooks which had been written by SpreadsheetGear. The workbooks were fine when initially read by Excel 2007 - they were corrupted by Excel 2007 when they were written back out to xls. (Jul 8, 2009)
- 5.1.1.106 Fixed copying data source and title formulas in charts as part of copying an entire worksheet, where the data source or title formula refers to a worksheet specific defined name, to work more like Excel 2007 (the chart will refer to a worksheet specific defined name in the new worksheet instead of in the source worksheet). (Aug 3, 2009)
- 5.1.1.106 Fixed a number of edge case problems with the new Analysis Toolpak functions. (Aug 3, 2009)
- 5.1.1.106 Fixed printing of borders to no longer print cell borders hanging over from other pages. (Aug 3, 2009)
- 5.1.1.106 Fixed the SpreadsheetGear.Drawing.Image class to work with charts on chart sheets. (Aug 3, 2009)
- 5.1.1.106 Added APIs and changed the Chart Explorer to display axis and chart title formulas when linked to worksheets instead of simply displaying the values of those formulas. (Aug 3, 2009)
- 5.1.1.106 Fixed the selection code to show as much of the range selection as possible instead of just the active cell. (Aug 3, 2009)
- 5.1.1.106 Fixed a problem which caused SpreadsheetGear to write invalid conditional format records to xls workbooks in cases where a large number of non-adjacent areas contain the same conditional format. (Aug 3, 2009)
- 5.1.1.106 Fixed handling of #N/A as chart data values to be more compatible with Excel. (Aug 3, 2009)
- 5.1.1.106 Fixed trying to open a Word document (.doc) to throw an IOException instead of a NullReferenceException. (Aug 3, 2009)
- 5.1.1.106 Fixed a problem reading certain charts with out of date chart data cache records. (Aug 3, 2009)
- 5.1.1.106 Fixed a NullReferenceException which occurred in the color picker when the "More Colors..." button is pressed with no currently selected color. (Aug 3, 2009)
- 5.1.1.110 Fixed problems with AND and OR worksheet functions which sometimes caused errors in the second and subsequent conditions to be ignored. (Aug 7, 2009)
- 5.1.1.114 Optimized the SUMIF function to efficiently skip non-existent rows when possible resulting in significant performance improvements for some workbooks which use SUMIF on entire columns where not all rows are populated. (Aug 12, 2009)
- 5.1.1.114 Fixed a problem with the TRUNC function when used in certain array formulas. (Aug 12, 2009)
- 5.1.1.118 Fixed a problem which caused certain array formulas to return an incorrect value after copying array formulas within the same worksheet. (Aug 20, 2009)
- 5.1.1.118 Fixed a problem with the IRange.Table API which occurred for some cases where a row input cell and a column input cell are both specified. (Aug 20, 2009)
- 5.1.1.118 Fixed print header and footer fonts to scale the same as page fonts are scaled. (Aug 20, 2009)
- 5.1.1.118 Improved the rendering of lines in line charts by using round line caps and joins rather than flat line caps and joins. (Aug 20, 2009)
- 5.1.1.118 Fixed to support defined names which contain question mark ('?') characters after the first character as Excel does. (Aug 20, 2009)
- 5.1.1.118 Changed the ShapeActionEventArgs.Control property to return a reference to the Windows Forms TextBox control responsible for editing a textbox shape or cell comment during a ShapeActionEventType.TextChanged event. (Aug 20, 2009)
- 5.1.1.122 Improved value axis scaling to work more like Excel 2007 particularly for large values which are close together. (Sep 9, 2009)
- 5.1.1.122 Fixed a problem with parsing of complex formulas which used the INDIRECT, OFFSET or INDEX functions in defined names, where the parsed formula would return the incorrect result because arguments to the functions were treated as array class arguments rather than value or reference class arguments. (Sep 9, 2009)
- 5.1.1.122 Changed parsing of number formats to accept spaces ('\u0020') as thousands separators when the workbook set's CultureInfo thousands separator is '\u00A0', and to format numbers with a space ('\u0020') rather than '\u00A0' when '\u00A0' is the thousands separator as Excel does. SpreadsheetGear will continue to accept number formats with '\u00A0' as the thousands separator when the CultureInfo thousands separator is '\u00A0', but formatted numbers will always use space ('\0020'). (Sep 9, 2009)
- 5.1.1.122 Fixed copying cell formats with palette indexed font, interior and border colors to convert the palette indexed colors to RGB colors when the source and destination palettes have different colors at the referenced palette index. (Sep 9, 2009)
- 5.1.1.128 Fixed dependant cells to calculate correctly after sorting. (Sep 29, 2009)
- 5.1.1.128 Fixed form controls to only set focus back to the WorkbookView when the control itself is used interactively to change values. (Sep 29, 2009)
- 5.1.1.128 Fixed a problem which sometimes caused formulas to not be calculated as needed after changing a defined name from referencing an unloaded workbook to referencing a loaded workbook. (Sep 29, 2009)
- 5.1.1.128 Fixed AutoFill mouse handling to honor the WorkbookView.AllowEditCommands property. (Sep 29, 2009)
- 5.1.1.128 Fixed the OFFSET function to use the height / width of the specified range instead of 1 when used with a missing argument for the optional height / width arguments, i.e., OFFSET(A1:C3,0,0,,2) or OFFSET(A1:C3,0,0,2,). (Sep 29, 2009)
- 5.1.1.132 Fixed a problem with the INDEX and OFFSET functions not correctly handling error conditions in some of their arguments. This problem could lead to a formula cell being incorrectly treated as a circular reference cell in some rare cases. (Oct 3, 2009)
- 5.1.1.136 Fixed a problem with the EDATE function which caused #NUM! to be incorrectly returned for a number of valid cases. (Oct 6, 2009)
- 5.1.1.142 Fixed problems reading / writing shapes of type ShapeType.Line from / to the Open XML (xlsx) file format. (Oct 17, 2009)
- 5.1.1.142 Implemented work around for .NET print dialog issue on 64 bit Windows by setting PrintDlg.UseEXDialog to true if IntPtr.Size > 4. (Oct 17, 2009)
- 5.1.1.146 Fixed reading and writing shapes to Open XML to support the IShape.HorizontalFlip and IShape.VerticalFlip properties. (Oct 21, 2009)
- 5.1.1.146 Fixed a problem which caused SpreadsheetGear to write an invalid data validation record to the Excel 97-2003 file format after reading an Open XML workbook with a data validation rule which contained a comma separated list as the criteria. (Oct 21, 2009)
- 5.1.1.150 Fixed a problem which incorrectly allowed cells to be deleted when the shifting of cells below or to the right of the deleted cells would leave invalid merged cells or invalid array formulas. (Nov 5, 2009)
- 5.1.1.150 Fixed a problem which caused incorrect results from some workbooks containing formulas involving defined names, where the defined names contained formulas which referenced other defined names which contained complex formulas. (Nov 5, 2009)
- 5.1.1.154 Fixed setting IRange.Value and IRange.Formula where a cell is currently formatted with a simple number format (such as "#,##0") to not change the format of the cell when a value such as "1/1/2009" or "5%" is entered. This change was made to be more compatible with Excel which treats these simple number formats differently than any other type of format. (Nov 16, 2009)
- 5.1.1.160 Fixed HLOOKUP and VLOOKUP to return an error as Excel does if the number of rows in the range being searched has one column in the case of VLOOKUP, or one row in the case of HLOOKUP, and an index greater than one is specified. (Nov 23, 2009)
- 5.1.1.164 Fixed a problem copying some shapes when copying worksheets which were opened from Open XML workbooks. (Dec 12, 2009)
- 5.1.1.164 Fixed a problem with parsing and unparsing of formulas containing array constants such as "=SUM({1,2;3,4})" when using a CultureInfo where the decimal separator is a comma, so that SpreadsheetGear now uses a backslash rather than a comma for the array constant column separator as Excel does, yielding a formula such as "=SUM({1\2;3\4})". (Dec 12, 2009)
- 5.1.1.168 Fixed the INDIRECT function to be more compatible with Excel, including fixing a problem which kept it from working with valid references with single quotes such as "'[MyBook.xlsx]MySheet'!A1". (Dec 12, 2009)
- 5.1.1.168 Fixed number formatting to properly format numbers using the engineering number format variation of scientific number formats including number formats such as ##0.0E+00. (Dec 12, 2009)
- 5.1.1.172 Fixed to be able to read workbooks which use single quotes in table column names to escape square braces. (Dec 22, 2009)
- 5.1.1.176 Fixed a problem which caused charts to sometimes not be repainted after changes to certain axis properties. (Jan 26, 2010)
- 5.1.1.176 Fixed a problem which caused data validation using a list to fail to properly link the listbox to the cell being validated if the workbook set is using ReferenceStyle.R1C1. (Jan 26, 2010)
- 5.1.1.176 Fixed a problem which caused some gradient fills to be interpreted incorrectly when reading them from xls workbooks. (Jan 26, 2010)
- 5.1.1.180 Added a workaround to read xls workbooks written by a popular 3rd party grid control which contain invalid cell formatting information. (Mar 3, 2010)
- 5.1.1.180 Fixed a problem which caused external links to fail in some cases where the workbook names matched but the full paths did not match. (Mar 3, 2010)
- 5.1.1.182 Fixed the WORKDAY function to return the correct result when the specified start day falls on a weekend or holiday. (Mar 3, 2010)
- 5.1.1.182 Fixed a bug in the DATEVALUE function which caused #VALUE! to be returned in some cases when the argument to DATEVALUE is a defined name reference. (Mar 3, 2010)
- 5.1.1.186 Fixed a problem with IRange.Copy which caused SpreadsheetGear to hang or throw an exception with certain combinations of source and destination ranges where the source range and destination range have columns with no values and no cell formats. (Mar 5, 2010)
- 5.1.1.190 Fixed a problem which caused cells to sometimes not be calculated in the correct order with workbooks where cells are involved in a circular reference during one calculation, and later are not involved in a circular reference because of dynamic re-ordering of calculations due to the use of functions such as IF, CHOOSE, INDIRECT, etc. (Mar 8, 2010)
- 5.1.1.194 Fixed a painting issue which occurred when rendering certain ranges with row headers, column headers and gridlines all turned off. (Mar 24, 2010)
SpreadsheetGear 2008 for .NET Framework (V4)
New Features
- Added robust support for reading and writing Excel 2007 Open XML (xlsx) workbooks.
- Added comprehensive charting APIs in the SpreadsheetGear.Charts namespace.
- Added support for chart rendering including the most commonly used chart types and options. Supported chart types include area, bar, column, line, pie, stock and XY scatter. Supported chart type options include multiple chart groups (combination charts), stacked and 100% stacked values, bar gap and overlap, line markers, drop lines, high-low lines, open-close bars, exploded pies, and data point labels. Supported axes options include primary and secondary axes sets, auto and manual scaling, major gridlines and tick marks, reversed axes, and tick label positions. Supported general chart options include chart titles, legends, theme colors, auto colors, number formats and fonts.
- Added support for basic chart editing with the new Chart Explorer.
- Added the SpreadsheetGear.Drawing.Image class which provides the ability to easily generate an image of a range of cells or a shape (such as a chart) with one line of code. This image can be displayed on a web page, saved to a file or used in a variety of ways in ASP.NET and Windows Forms applications.
- Increased the maximum number of rows and columns from 65,536 rows and 256 columns to 1,048,576 rows and 16,384 columns.
- Added support for the new Excel 2007 color model, including 24 bit colors as well as theme colors with tinting and shading, while maintaining support for the old style 56 color palette and indexed colors.
- Added named cell style support with the IStyles and IStyle interfaces along with IWorkbook.Styles and IRange.Style properties. These APIs provide the ability to add, modify or delete named cell styles as well as the ability to assign a named cell style to a range of cells. Forty-nine built-in named cell styles are included in a new workbook and up to 4000+ user defined named cell styles can be added.
- Added support for What If tables with the IRange.Table(IRange rowInput, IRange columnInput) method and added support for Calculation.SemiAutomatic which provides for automatic calculation of all except What If tables.
- Added IFont.ThemeColor and IFont.TintAndShade properties.
- Added IInterior.ThemeColor, IInterior.TintAndShade, IInterior.PatternThemeColor and IInterior.PatternTintAndShade properties.
- Added IBorder.ThemeColor, IBorder.TintAndShade, IBorders.ThemeColor and IBorders.TintAndShade properties.
- Added ITab.ThemeColor and ITab.TintAndShade properties.
- Increased unique cell format limit from 4095 to 65535.
- Added support for parsing and unparsing DDE references such as “Application|Topic!Item” and reading and writing these DDE references to Excel 97-2007 workbooks.
- Adding hyperlinks to cells now modifies the cells to use the “Hyperlink” named cell style instead of simply setting the font style and color.
- Added SpreadsheetGear.PrintErrors enumeration and IPageSetup.PrintErrors property.
- Added IWorksheet.TransitionFormEntry property.
- Added support for dynamic row header width which changes based on the last displayed row.
- Added read, write and API support for IWorkbook.UpdateLinks property.
- Added IWorkbookSet.EndCalculate event for notification of background calculation completion in cases where the WorkbookView control is not being used.
Issues Addressed
- Installation is now more Windows Vista friendly, with all samples now placed under the application data directory instead of being placed under Program Files.
- SpreadsheetGear 2008 does a better job of working when installed on the same computer as previous versions of SpreadsheetGear for .NET by creating separate “SpreadsheetGear 2008” entries in the Visual Studio Windows Forms Designer Toolbox and in the Windows Start menu.
- Fixed unparsing of data validation list formulas which have embedded double quotes to add extra double quote.
- Fixed a bug which occurred when copying cells with IRange.Copy with skipBlanks set to true which caused incorrect formats to be copied to some cells when blank source cells are encountered.
- Added workaround to read workbooks with seemingly invalid country codes in number formats such as “[$-1012C0A]#,##0;\-#,##0”. SQL Reporting Services apparently creates workbooks with number formats such as this.
- Fixed to parse formulas such as "=Sheet1!#REF!,Sheet1!#REF!,Sheet1!#REF!” and "=#REF!,#REF!" as Excel does.
- Fixed a problem which caused a conditional format with a formula such as "=MID(#REF!,1,6)=”"Total”"" to incorrectly evaluate to true.
- Fixed a bug which occurred when copying certain conditional formats between workbooks.
- Fixed the SUM function to round to zero as Excel does in cases such as "=SUM(0.1,0.1,0.1,-0.3)".
- Fixed problems with IWorkbook.NumberToDateTime accuracy which sometimes caused results to be off by 1 millisecond.
- Fixed problem parsing formulas with the range intersection operator (which is a space character) when using the R1C1 reference style.
- Improved Excel compatibility of shape positioning.
- Fixed printing of borders to scale border thickness with zoom setting as Excel does.
- Fixed writing of Excel 97-2003 workbooks when the workbook has a large number of cells (>1000) with the same data validation criteria where the cells are not contiguous.
- Fixed the listbox and combobox form controls to properly handle the mouse wheel when they have the focus.
- Fixed issues with WorkbookView scrollbars sometimes not working correctly when setting the WorkbookView.DisplayReference property.
- Fixed problem which caused the WorkbookView to sometimes repaint incorrectly when cells are inserted or deleted with multiple panes displayed.
- Fixed a NullReferenceException which sometimes occurred when the Delete key was pressed while dragging the mouse.
- Fixed problems which sometimes occurred when copying cells with the PasteType.AllExceptBorders option.
- Fixed problems with HLOOKUP, VLOOKUP, LOOKUP and MATCH which sometimes occurred when searching within interspersed values of different types.
- Fixed IRange.Copy with PasteType.ColumnWidth to copy the column hidden state.
- Fixed bug which caused painting to sometimes be incomplete when IRange.Copy is called where the destination range is automatically grown.
- Fixed problems with shape position and size which sometimes occurred when row and column outlines were expanded or collapsed.
- Fixed problems which occurred when the WorkbookView.DisplayReference property was changed while editing a cell.
- Fixed IRange.Copy of a single cell to a single merged cell to not unmerge the destination cell, and fixed Copy and Paste in the WorkbookView to do the same.
- Fixed IWorksheet.UsedRange to include cells which have comments but no formatting or value as Excel does.
- Fixed entering dates between "1/1/100" and "12/31/1899" to be treated as text instead of adding 1900 to the year.
- Fixed printing to honor IPageSetup.FirstPageNumber.
- Fixed Range Explorer's Font and Number Format panels to work properly when a background thread is formatting cells other than the currently selected cells.
- Fixed to allow backslash characters in defined names as Excel does.
- Fixed bug which caused array formulas which use the range, intersection or union operators to sometimes not calculate correctly.
- Fixed IRange.Sort to move hyperlinks and cell comments with cells when sorting.
- Fixed PageUp key to work when no rows are currently visible on screen and fixed related issues with PageDown going past the last row unnecessarily.
- Fixed cell editing to convert between “\r\n” and “\n” as Excel does to avoid problems when opening in Excel.
- Fixed setting cell borders to modify adjacent borders from other cells as Excel 2007 does.
- Fixed scrollbars to scroll to the last row or column of the displayed area of a worksheet correctly when the last row or column is included in the used range.
- Fixed the Insert Hyperlink… command in the WorkbookView’s context menu to respect the WorkbookView.AllowRangeExplorer property.
- Fixed to no longer fire extra WorkbookView.Calculate events when background calculation is interrupted.
- Changed SpreadsheetGear 2008 to use single quotes around sheet names of 'R' and 'C' when unparsing formulas as Excel does.
- Fixed a problem which caused the OFFSET worksheet function to throw an IndexOutOfRangeException in some very complex workbooks.
- Added a workaround to read XLS workbooks with invalid cell comments which are created by certain third party components.
- Fixed reading and writing of conditional format interior patterns to .xls workbooks.
- Fixed IRange.IsVolatileOrCircular to calculate as needed when automatic calculation is enabled.
- Fixed unparsing of formulas with array constants containing strings with embedded quotes such as ={"This is a quote: """}.
- Fixed TRANSPOSE function to no longer convert empty values to zero when an array is returned. Empty is still converted to zero when TRANSPOSE returns a single value.
- Fixed unparsing of external references in formulas to not include the path for workbooks which are currently loaded in the same workbook set as Excel does.
- Fixed a problem which occurred when copying with the PasteType.AllExceptBorders option.
- Fixed data validation Ignore Blank option to work correctly in the WorkbookView control.
- Fixed IRange.Value to put an empty string in a cell instead of clearing the cell if the cell is formatted as "@" and fixed data entry in the WorkbookView control to clear the cell when an empty string is entered into a cell formatted as text.
- Added workaround to read files written by DevExpress Report Suite which do not have the proper OLE Compound Document sector padding.
- Fixed printing to finish calculating as needed when calculation mode is set to automatic.
- Fixed an IndexOutOfRangeException which occurred with certain large and complex workbooks during calculation.
- Removed the Microsoft .NET Framework 2.0 SP1 requirement. SpreadsheetGear 2008 4.0.6.104 now supports the Microsoft .NET Framework 2.0.50727.42 which was the first RTM of the Microsoft .NET 2.0 Framework.
- 4.0.6.104 Fixed a chart rendering issue which sometimes caused charts to be clipped, and possibly not rendered at all, when there are other visible shapes or controls. (Oct 17, 2008)
- 4.0.6.104 Fixed the WorkbookView control to work with the AltGr key. (Oct 17, 2008)
- 4.0.7.103 Fixed a problem with some workbooks saved as Excel 97-2003 (xls) which caused Excel 2003 to generate an error message when those workbooks were opened. This problem was related to formatting an entire worksheet or loading a workbook where an entire worksheet had been formatted. (Oct 25, 2008)
- 4.0.7.103 Fixed data validation drop-down lists, where the lists are populated from cells, to update the drop-down list when those cells are changed through the API. (Oct 25, 2008)
- 4.0.7.103 Fixed a problem painting shapes which are very narrow, very short, or which use a thick line style. (Oct 25, 2008)
- 4.0.8.104 Fixed a problem which caused cell comments to display improperly in some cases. (Oct 29, 2008)
- 4.0.9.102 Fixed problems with data label positioning relative to axes on bar charts. (Nov 14, 2008)
- 4.0.9.102 Fixed bar chart data label manual layout offsets to work correctly with reversed axes. (Nov 14, 2008)
- 4.0.9.102 Fixed issue with chart data point formatting not being read in from XLSX correctly when data label formatting is also contained in the file. (Nov 14, 2008)
- 4.0.9.102 Fixed issues when reading chart data labels in XLSX that were not reading in correct default formatting attached to series data label collection. (Nov 14, 2008)
- 4.0.9.102 Fixed chart category axes to wrap on hyphen characters similar to Excel. (Nov 14, 2008)
- 4.0.9.102 Fixed formulas such as "=SUM(A1:A2!A1)", where there are worksheets named "A1" and "A2", to be treated as "=SUM(A!:'A2'!A1)" rather than "=SUM('A1:A2'!A1)". (Nov 14, 2008)
- 4.0.9.102 Fixed INDIRECT function to handle references such as "A1!A1" where there is a worksheet named "A1". (Nov 14, 2008)
- 4.0.10.102 Fixed problems with solid fills which are set to the Text1 theme color. (Dec 4, 2008)
- 4.0.10.102 Fixed a problem which caused the size of newly added shapes to sometimes be saved incorrectly when the shape is placed over rows set to use automatic heights. (Dec 4, 2008)
- 4.0.10.102 Added a work around to handle certain invalid xls workbooks with Cell Comments which have duplicate shape IDs. (Dec 4, 2008)
- 4.0.10.102 Fixed OFFSET worksheet function to work with negative heights and negative widths as Excel does. (Dec 4, 2008)
- 4.0.10.102 Added a work around to read certain workbooks which have references to invalid external workbooks. (Dec 4, 2008)
- 4.0.10.102 Fixed an exception which occurred in some cases with a formula such as =INDIRECT("Sheet!Name") where there is no worksheet named "Sheet" in the workbook containing the formula. (Dec 4, 2008)
- 4.0.10.106 Fixed a problem which happens very rarely with certain workbooks which causes an invalid workbook to be written when workbooks are saved to the Open XML file format. (Dec 4, 2008)
- 4.0.10.106 Fixed a bug which caused single accounting underlines to be saved incorrectly to xls workbooks. (Dec 4, 2008)
- 4.0.10.106 Fixed a problem where certain custom functions get called every time even though they are used in an array formula and return an array. (Dec 4, 2008)
- 4.0.10.110 Fixed the entry of text starting with "+" or "-" to no longer prepend "=" if the cell is formatted as text. (Dec 4, 2008)
- 4.0.10.110 Fixed entering an empty string into the WorkbookView to work correctly with merged cells (it was giving an error indicating this could not be done on a merged cell). (Dec 4, 2008)
- 4.0.10.110 Fixed SUMIF, COUNTIF, DSUM and the other database functions to handle cases where criteria cells contain numbers entered as text. (Dec 4, 2008)
- 4.0.10.110 Fixed a number of problems which caused Excel 2003 or Excel 2007 to be unable to properly read various workbooks. The problems were related to certain cases of hidden columns, formulas containing linefeeds, shapes and chart elements with text which starts with or ends with whitespace, certain combinations of repetitive formulas and workbooks which have had cell comments deleted. (Dec 4, 2008)
- 4.0.10.114 Added a work around to read xlsx workbooks with seemingly invalid "bubble3d" charting elements which are sometimes written by Excel 2007. (Dec 4, 2008)
- 4.0.10.114 Added a work around to read xlsx workbooks with "macro" attributes on certain shape elements which are sometimes written by Excel 2007. (Dec 4, 2008)
- 4.0.10.116 Fixed a problem which caused rendering of some charts to throw System.OverflowException. (Dec 4, 2008)
- 4.0.10.116 Fixed a problem which caused a NullReferenceException if a WorkbookView lost focus after entering edit mode and before the cell editor got the focus. (Dec 4, 2008)
- 4.0.10.116 Fixed a problem which caused a NullReferenceException with IRange.Intersect when one or both IRange's had multiple areas and the result was an empty IRange. (Dec 4, 2008)
- 4.0.10.120 Fixed a problem which caused formulas with invalid numbers to be created. Such formulas are likely to lead to exceptions. This occurred with formulas such as "=2e308" where a number with scientific notation cannot be represented by a double. (Jan 29, 2009)
- 4.0.10.124 Fixed a problem which caused an exception to be thrown when reading workbooks written by Excel which include saved linked values, where those saved linked values are blank. (Dec 4, 2008)
- 4.0.12.100 Fixed a bug where, if an entire worksheet is formatted, but no individual entire columns are formatted, and you clear the formats of a range of cells, the format of the cleared cells will sometimes be left as the format of the entire worksheet rather than setting the format back to the default workbook format (as specified by the “Normal” named cell style) as ClearFormats is supposed to do. (Feb 19, 2009)
- 4.0.12.100 Fixed problems reading and writing xlsx workbooks with groups / outlines. (Feb 19, 2009)
- 4.0.12.100 Fixed a problem with the built-in date & time formats which contain "AM/PM", where "AM/PM" would get converted to "AM.PM" when running in a locale where the date separator character is a ".". (Feb 19, 2009)
- 4.0.12.100 Fixed a bug which caused replacing "*" with anything to create a maximum length string in the cell and then throw an exception trying to create an even longer string. (Feb 19, 2009)
- 4.0.12.100 Fixed a problem with the way SpreadsheetGear wrote xls and xlsx workbooks containing large numbers of adjacent similar formulas, where Excel would on rare occasions crash or hang upon closing or performing an operation on one of these workbooks, or would create an invalid workbook when saving. (Feb 19, 2009)
- 4.0.12.100 Fixed a problem where formula cells which depend on defined names, where the defined name is set to a text constant, do not always get updated when the defined name is changed to another text constant. (Feb 19, 2009)
- 4.0.12.100 Fixed the ADDRESS worksheet function to put single quotes around sheet names if necessary (such as a sheet name which contain spaces) as Excel does. (Feb 19, 2009)
- 4.0.12.104 Fixed DSUM, DAVERAGE and the other database functions to work with database and criteria field names which are numeric values, such as a field name of "2008" matching a column header with the number 2008. (Feb 20, 2009)
SpreadsheetGear 2007 for .NET Framework (V3)
New Features
- Conditional formatting with full API, WorkbookView, and Range Explorer support.
- Grouping and outlining with additional APIs, WorkbookView, and Workbook Designer support.
- Find and replace API, WorkbookView support (CTRL+F / CTRL+H), and modeless find, find all, replace and replace all dialog.
- Sort API and modeless sort dialog.
- New Visual Basic SpreadsheetGear Explorer Sample Solution.
- More samples in the SpreadsheetGear Explorer Solutions and online documentation.
- Data validation support in the Range Explorer.
- IRange.NumberFormatType and IRange.ValueType properties and associated enumerations.
- IRange.Intersect(IRange), IRange.Union(IRange) and IRange.Subtract(IRange) methods.
- IRange.ValidationDefined property.
- IWorkbook.IsModified property.
- WorkbookView.LocationToRange and WorkbookView.RangeToLocation methods.
- WorkbookView.ShowError event and framework.
- WorkbookView support for unhiding rows and columns with the mouse.
- More zoom options in the Workbook Explorer.
- Implemented Delete key support in Workbook Explorer for sheets and defined names.
- Optimize painting of worksheets with large numbers of merged cells.
- Additional SpreadsheetGear Explorer Solution samples.
- IWorkbook.DateTimeToNumber and NumberToDateTime methods.
- Added Visual Studio 2008 support.
- Added WorkbookView support for displaying colors from number formats such as "[Color10]General".
- Added WorkbookView support for pasting rich text cells copied from Excel to the clipboard.
- Added workaround to read workbooks with invalid worksheet gridline color information (workbooks were created by a 3rd party component).
- Added IRange.IndentLevel property.
Breaking Changes
- Most public core APIs now throw an exception when all of the following are true: 1) The current thread has not acquired a lock on the workbook set using GetLock. 2) The workbook set is associated with any GUI element (WorkbookView, etc...). 3) Background calculation is true. 4) Calculation is not set to Manual.
- The WorkbookView control now displays a Tooltip indicating that locks have not been released when KeyDown, KeyUp, MouseDown, MouseMove or MouseUp events occur with a pre-existing lock, indicating that either GetLock or BeginUpdate has been called without a corresponding ReleaseLock or EndUpdate call.
- Fixed enumeration of IRange.Rows to return rows instead of cells and enumeration of IRange.Columns to return columns instead of cells as Excel does.
- Fixed ISheet.CopyBefore and ISheet.CopyAfter to create a new sheet name such as "Sheet (3)" when copying a sheet with a name such as "Sheet (2)".
- Fixed copying an entire worksheet, where a workbook global defined name references that worksheet and the defined name is not referenced by any cells in the source worksheet, to copy the workbook global defined name to a worksheet specific defined name in the new worksheet. These defined names were always copied when they were referred to by a cell in the source worksheet.
- Fixed IWorksheet.UsedRange to take entire row formatting and entire column formatting into account as Excel does.
Issues Addressed
- Fixed problems painting cells with horizontal alignment set to HAlign.Fill and repeating characters in the number format.
- Increased the maximum number of named styles from 1023 to 4095 due to some workbooks written by Excel 2007 having large numbers of named styles.
- Fixed printing to transfer Landscape and Black & White settings from a worksheet's page setup info to the default printer settings and back.
- Fixed editing of cells formatted as percent to properly append "%" after starting a cell entry with "-5", "+5", ".5", etc...
- Fixed a bug which occurred with certain worksheet layouts when inserting cells and shifting right.
- Fixed the WorkbookView control to not show the active cell after a selection if ScrollRow or ScrollColumn are set after the selection is changed.
- Removed 1023 picture limit and fixed an associated problem writing some workbooks with large pictures or large numbers of shapes.
- Fixed data validation lists which come from cells to ignore case as Excel does.
- Fixed inserting or deleting the first row or column where a formula references entire columns or entire rows to no longer change these references to #REF!
- Fixed setting IRange.Value or IRange.Formula, where the range represents multiple cells and the new value or formula changes the number format of the cell, to copy the new number format to all of the cells in the represented range.
- Fixed protection problems with TextBox and LockText property.
- Fixed a bug which caused Excel to crash when opening a workbook created by copying an entire worksheet which had selected shapes.
- Optimized loading and activating nodes in the various explorers for a cleaner appearance when first displaying.
- Fixed the Workbook Explorer to work better with inactive worksheet and workbook WindowInfos. The WorkbookView control keeps it's own copy of IWorkbookWindowInfo and IWorksheetWindowInfo for inactive worksheets and inactive workbooks to facilitate the ability to have different window info settings on separate WorkbookView controls. The Workbook Explorer now propagates changes to the most reasonable of these copies as well as to the core.
- Fixed a problem which caused SpreadsheetGear for .NET to hang if a custom function was added after a workbook was loaded, where a formula in the workbook passes a volatile argument to the custom function.
- Fixed FormulaBar name box to be disabled while in cell edit mode.
- Fixed bug with edit mode starting when mouse button is down. It now works more like Excel.
- Fixed a problem where a worksheet's defined names collection would not get updated after adding the first defined name.
- Fixed scrollbar form control problem when linked to cells on a protected worksheet.
- Fixed painting of row and column headers and sheet tabs to use the default fonts from the associated workbook set.
- Fixed setting IWorkbook.FullName to update external references from other workbooks which reference a workbook of the newly specified name to reference the renamed workbook.
- Added workaround for .NET 2.0 MDI framework problem which caused the Workbook Designer to hang when running at screen resolutions of 144+ DPI.
- Fixed Copy to clipboard followed by Paste Values of a defined name reference to paste the value instead of #REF!.
- Fixed pickers and custom dialog controls to use SystemFonts.DefaultFont.
- Fixed problems with formula editing point to reference mode when pointing to a cell in another worksheet.
- Fixed Workbook Designer menus to take better actions in the Workbook Explorer such as activating controls, inserting defined names, etc...
- Fixed problem when double-clicking sheet tabs which are not fully scrolled into view.
- Fixed Workbook Explorer defined name nodes to synchronize properly after an entire worksheet is copied.
- Fixed IRange.MergeCellsDefined property to work like Merged Cells checkbox in Excel.
- Fixed data validation with lists to honor the InCellDropdown setting.
- Fixed FormulaBar to no longer display hidden defined names for the formula address.
- Fixed Cut followed by Paste to correctly fix up references in chart series, data validation custom formulas and form controls.
- Fixed IRange.Copy(IRange) to copy to multiple areas.
- Fixed WorkbookView to display cell comment indicator after copying cells with comments.
- Fixed unhandled exception which occurred when a shape is inserted when existing shapes are selected.
- Fixed problem with IWorksheetWindowInfo.RangeSelection setter sometimes not repainting the WorkbookView.
- Fixed printing headers and footers with &D and &T to use short date and time formats.
- Fixed reading and writing of workbooks which contain very long printer setup records.
- Fixed a number of cases where formatting a number with a general format used a period instead of the decimal separator of the workbook set's CultureInfo.
- Fixed Workbook Explorer to update the display of defined names when a worksheet name is changed.
- 3.0.0.121 Fixed a problem with the IRange.UsedRange property which caused it to return all columns when an entire worksheet was formatted with a non-default cell format. (Jun 18, 2007)
- 3.0.0.121 Fixed a problem which caused invalid workbooks to be written when references such as Sheet1!$A$1:$B$2 get changed to #REF!$A$1:$B$2 or Sheet1!#REF! during copy, insert or delete of cells or worksheets. (Jun 18, 2007)
- 3.0.0.121 Fixed a problem which caused the Range Explorer to throw an unhandled exception when the Conditional Formats node is excluded and the current selection is changed. (Jun 18, 2007)
- Enhanced the layout of the data validation drop-down listbox to drop down under the linked cell as well as improving the apperance when placed next to a cell. Also fixed issues when used with various screen DPIs, Display Settings, and Zoom Magnification levels as well as a problem which caused data validation lists to not be removed after clearing data validation from a cell.
- Fixed conditional formats to stop at the first condition which evaluates to true as Excel does.
- Fixed parsing of strings in formulas, conditional formats and data validation lists to adhere to the 255 character file format limit.
- Fixed issues when closing workbooks or changing workbook structure while editing a cell.
- Added a workaround so that Formula One ActiveX can read workbooks written by SpreadsheetGear for .NET.
- Fixed a layout issue when grouping rows and columns across frozen panes.
- Fixed a problem which occurred when calculating references to defined names in external workbooks which might cause changes in the external workbook to fail to propagate during calculation.
- Fixed a problem which sometimes caused null reference exceptions after closing a workbook with defined names which are referred by another workbook, where the workbook with the external defined name references is left open.
- Fixed painting of workbooks with frozen panes to no longer paint the line designating the split beyond the last displayed row or column, when there are not enough rows or columns to fill the WorkbookView.
- Added workarounds for reading certain workbooks which are written by third party components.
- Fixed a problem which caused some workbooks containing charts with certain text options to be saved incorrectly.
- Fixed a problem which caused resizing rows or columns on a sheet with frozen panes to incorrectly scroll up or left.
- Fixed a problem which sometimes caused the IF(...) function to return incorrect results in some cases where the second or third argument consists entirely of an absolute range with 1xN or Nx1 rows and columns.
- Fixed calculation problems with some large workbooks which contain large numbers of forward references.
- Fixed copying of cell comments to copy the width and height of the cell comment.
- Fixed Workbook Explorer to update relative references in defined name formulas when the current selection changes.
- Fixed a problem fixing up relative references in data validation formulas and conditional format formulas after cutting and pasting.
- Fixed scrolling problems which occurred in some cases when the last rows or columns of a worksheet are hidden.
- Fixed CommandManager to show errors using the ShowError event.
- Fixed problems with Undo of conditional formats and data validation criteria which use relative cell references.
- Fixed WorkbookView to fire the ShapeSelectionChanged event when shapes are unselected.
- Changed conversion of numbers to text to provide more significant digits including the IRange.Entry property, numeric cell editing including FormulaBar and in-cell editor, as well as numbers in custom number format comparison operators, conditional format comparisons and data validation criteria.
- Added workarounds to read workbooks written by third party reporting product.
- Fixed problems with formula reference fixups in array formulas during insert, delete and cut followed by paste.
- Fixed cases where converting numbers between 0.0 and 1.0 to text used "." instead of the culture specific decimal separator.
- Fixed the on-screen position of a data validation drop-down list when the drop-down list is associated with a merged cell spanning multiple columns.
- Fixed a case in the WorkbookView control where clicking and dragging with the mouse threw an exception when there were no cells visible because all rows or columns had been scrolled out of view.
- Fixed WorkbookView printing to honor the IPageSetup.PaperSize property.
- Fixed a problem which sometimes caused too large of a range to be used when pasting from Excel to the WorkbookView control.
- Fixed formats such as "dd.mm.yyyy" to treat "mm" as minutes instead of months for date formats which use a period as a separator.
- Made IWorkbookSet.MaxRecursions public to allow increasing this value for improved performance when a large stack is known to be available or decreasing to avoid stack overflow exceptions which occurred in rare cases.
- Fixed a problem reading some workbooks with large numbers of charts.
- Fixed WorkbookView painting problems which occurred when cutting, pasting and clearing cells with thick borders.
- Improved rounding of numbers to be more like Excel in edge conditions for certain ranges of numbers.
- Fixed printing problems which occurred when row and column headers are printed at the same time as row and column titles.
- Fixed active sheet index problem when saving copied WorkbookWindowInfo with bogus active sheet index after sheets are deleted.
- Fixed a problem setting custom number formats on workbooks created by some non-US versions of Excel which caused null reference exceptions.
- Fixed painting problems which occurred when using PageUp and PageDown where the selection doesn't change.
- Fixed form controls to no longer fire ShapeAction events when they are being initialized.
- Optimized printing code to make fewer calls into some very slow .NET APIs.
- Fixed TEXT worksheet function to attempt to convert text to numbers before formatting.
- Fixed internal event issues which caused the Undo buffer to be cleared when undoing a Replace.
- Fixed a problem which caused complex formulas which use the OFFSET worksheet function to sometimes return incorrect results.
- Fixed a problem which sometimes caused an unhandled exception to be thrown when a mouse move event is sent to a WorkbookView control after the WorkbookView's current workbook is closed (only happened when the mouse had been hovering over a cell with a cell comment).
- Fixed a problem which caused references to external workbooks from defined names to sometimes not be fixed up correctly when worksheets in the external workbook are moved, deleted or renamed.
- Fixed problem which caused cell comments to sometimes not be displayed when running in Windows Vista with Aero enabled.
- Fixed issues with shape hit testing including problems with large pen sizes as well as problems with vertical and horizontal lines.
- Fixed the OFFSET function to use 1 instead of 0 when the 4th or 5th argument is missing (such as "=OFFSET(C2,1,2,,2)" or "=OFFSET(C2,1,2,2,)").
- Added workaround to discard bogus hidden formulas associated with external name references (references to defined names in other workbooks) when loading workbooks with SaveLinkValues turned off.
- Fixed the way cell border property setters change the borders of adjoining cells to behave more like Excel.
- Fixed problems which caused charts to sometimes not be updated in Excel if they referred to cells containing the INDIRECT function or if they referred indirectly to cells containing volatile functions.
- Changed in-cell edit textbox to raise text one pixel higher when editing cells with bottom vertical alignment so that descenders and underscores display more reliably.
- Fixed problems which caused cell comments to sometimes pop up in multiple panes, or to be displayed (or caused indicators to be displayed) when the row or column containing the cell comment is hidden.
- Fixed problem with HLOOKUP and VLOOKUP sometimes returning incorrect results if a range with an absolute reference is used for the 3rd argument.
- Fixed problem which sometimes caused shapes to snap off the top or left edge of a worksheet when they are moved with the mouse.
- Fixed problem writing workbook after modifying formulas containing XIRR or XNPV functions which kept Excel from treating it as an Analysis Toolpak function (other Analysis Toolpak functions worked as expected).
- Fixed problems which caused certain combinations of the OFFSET function in conjunction with certain defined names to return incorrect results.
- Fixed problem which sometimes caused incorrect column widths to be read from workbooks when the IWorksheet.StandardWidth property has been set in the workbook being read.
- Fixed problem which occurred when writing workbooks which reference addins such as the Bloomberg RTD(...) function.
- Fixed issues related to showing modal dialogs during the end edit process including data validation errors and warnings.
- Fixed database functions such as DSUM to no longer convert text values to numbers in criteria cells where the text value is a date or time with a leading space such as " 5-9".
- Fixed issue where WorkbookView was not requesting that it be sent keyboard input characters before .NET preprocesses those keys by overriding Control.IsInputChar.
- Fixed parsing of dates and times such as "1 Feb 2000 12:00 AM" to work as Excel.
- Fixed painting of borders to scale the thickness of the borders when setting zoom or when printing using fit to pages.
- Fixed problem which caused conditional formats to sometimes not be painted correctly when they have complex formulas which reference absolute cell references.
SpreadsheetGear 2006 for .NET Framework (V2)
New Features
- SpreadsheetGear.Windows.Forms.WorkbookView provides viewing, navigation and editing support which is familiar to Excel users.
- In-cell editing and optional SpreadsheetGear.Windows.Forms.FormulaBar control provide the ability to enter and edit cell values and formulas, including support for pointing at cell references in formulas across worksheets and workbooks.
- Smart data entry with automatic recognition and formatting of dates, times, percentages, currency, scientific notation and fractions.
- SpreadsheetGear.Windows.Forms.WorkbookDesigner provides an MDI Windows application which may be used from within Visual Studio 2005 at design time or by applications at run time.
- SpreadsheetGear.Windows.Forms.RangeExplorer provides extensive modeless formatting of the currently selected range with support for alignment, merged cells, borders, fonts, colors, patterns, number formats and protection options.
- SpreadsheetGear.Windows.Forms.WorkbookExplorer provides the ability to manipulate workbooks, worksheets and defined names as well as their properties.
- Support for multiple worksheets in each workbook and multiple workbooks associated with each WorkbookView.
- WorkbookView.DisplayReference and WorkbookView.DisplayReferenceName properties allow complete control over what appears for each sheet tab, including the ability to make multiple workbooks appear as one workbook.
- Cut, copy and paste support including rich data and formatting interchange with Excel and full formula fixups.
- Frozen rows and columns, split panes, zoom, multi-level undo/redo, autofit rows and columns, goto, clear, printing, print preview, interruptible background calculation, real time workbook updates and more.
- Full integration with Visual Studio 2005 including the ability to use the Workbook Designer, Workbook Explorer and Range Explorer at design time.
- Interruptible background calculation including SpreadsheetGear.IWorkbookSet. BackgroundCalculation, IWorkbookSet.GetLock(), IWorkbookSet.ReleaseLock(), IWorkbookSet.HasLock, IWorkbookSet.BeginUpdate() and IWorkbookSet.EndUpdate().
- Added SpreadsheetGear.IWorkbooks.Contains(IWorkbook), IWorksheets.Contains(IWorksheet), ISheets.Contains(ISheet) and INames.Contains(IName) methods.
- Added SpreadsheetGear.IWorksheetWindowInfo. ActiveCellAreaIndex and IWorksheetWindowInfo.SetSelection(.).
- Added Factory.GetWorkbook(.) overrides which take a CultureInfo.
- Increased maximum number of sheets from 255 to 65531.
- Significantly improved performance of IWorksheets[string worksheetName] and ISheets[string sheetName], particularly with large numbers of worksheets/sheets.
- Added SpreadsheetGear.IRange.ShrinkToFit property.
- Added support for setting IRange.Value to an Int64 value.
- Added SpreadsheetGear.LineStyle.Continuous to replace the deprecated LineStyle.Continous.
- Significant performance improvements when using SpreadsheetGear.IRange to get border properties of a large area.
- Added SpreadsheetGear.IPageSetup.PrintArea, PrintTitleRows, PrintTitleColumns and FitToPagesproperties.
- Added AllowPartiallyTrustedCallersAttribute to the SpreadsheetGear.dll assembly.
- Changed SpreadsheetGear.IWorkbook.Calculate() and CalculateFull() to mark a workbook set as needing calculation and defer to background calculation when appropriate, typically when IWorkbookSet.BackgroundCalculation is true and the current thread has acquired a lock with IWorkbookSet.GetLock() (does not change the way these methods work in existing applications which could not have called GetLock()).
- Added SpreadsheetGear.IWorkbookSet.DefaultFontName and DefaultFontSize. Changed the default font used by a workbook set for Japanese, Korean and Chinese cultures.
- 2.0.0.49 Added SpreadsheetGear.CustomFunctions.IArguments. ClearError method. (Jul 18, 2006)
- 2.0.0.49 Added support for System.Single and System.Byte to IRange.Value and IRange.CopyFromDataTable. (Jul 18, 2006)
- Added support for reading and writing VBA macros.
- Added SpreadsheetGear.CustomFunction.IValue.SetArray(double[,]) and SetArray(object[,]) methods to enable custom functions to return array results.
- Improved IWorkbook.SaveToStream and IWorkbooks.OpenFromStream to work with streams which are not seekable.
- Added support for the USDOLLAR() function.
- Added "Calculate" and "Calculating" messages to the Workbook Designer status bar.
- Improved performance of painting a WorkbookView after calculation completes.
- Added support for reading and writing workbooks with DDE links.
- New SpreadsheetGear Explorer Sample Solution for Visual Studio 2005.
- Added the ability to add pictures to a worksheet with the new IWorksheet.Shapes.AddPicture method.
- Added reading, writing, API and GUI support for hyperlinks, password protected worksheets and sheet tab colors.
- Added CommandManager and Command classes which provide the ability to add custom undoable commands as well as the ability to override the behavior of common commands.
- Added RangeSelectionChanging, ActiveTabChanging and ActiveTabChanged events to the WorkbookView control.
- Added the ability to specify which categories are displayed by the Range Explorer with the CategoryFlags property.
- Added Paste Special command with many options including the ability to consolidate and transpose cells.
- Added support for the HYPERLINK() worksheet function.
- Added support for providing a default custom function by specifying a function name of "*".
- Added SpreadsheetGear.CustomFunctions. IArguments.CurrentFunctionName property which returns the name of the function currently being evaluated.
- Added SpreadsheetGear.CustomFunctions. IArguments.CurrentFormula property which returns the formula of the cell currently being evaluated.
- Added custom cursors to the WorkbookView control.
- Enhanced IRange.Copy to support copying to destination ranges with multiple areas.
- Added undo support to Insert, Delete and Paste after Cut.
- Added PointsToRow, RowToPoints, PointsToColumn and ColumnToPoints methods to IWorksheetWindowInfo.
- Added PrintQuality and PrintQualityVertical properties to IPageSetup.
- Added support for maintaining the position and/or size of shapes with fixed position and/or size during Insert, Delete, Row Height changes and Column Width Changes.
- Added API and GUI support for cell comments, pictures, text boxes, check boxes, drop-downs, list boxes, spinners, scrollbars, buttons, lines and many autoshapes. GUI support includes the ability to insert (see the Insert menu), size, move and set properties (right click on a shape and click Shape Explorer...).
- Added limited support for custom controls with the SpreadsheetGear.Windows.Forms.UIManager class.
- Added API support and limited GUI support for data validation (data validation is honored upon cell entry but cannot be changed in the Range Explorer until a future version).
- Added support for reading and writing form controls with cell references and lists (as well as the API and GUI support noted above).
- Reimplemented Range Explorer Borders Panel so that it is easier to understand and use.
- Improved in-cell editor now supports multiline text, wrapped text and uses the format of the cell being edited.
- Exposed more functionality in CommandManager and associated classes.
- Added support for parsing dates as yyyy/mm/dd regardless of the locale.
- Added Sheet property to ActiveTabChanging and ActiveTabChanged event arguments.
- Added setters for a number of WorkbookView, IWorkbookWindowInfo and IWorksheetWindowInfo properties related to the currently selected range and sheet.
- Added SpreadsheetGear.IName.Visible property.
- Improved the SpreadsheetGear Explorer Sample Solution.
- Added cell comment indicators to the WorkbookView control.
- Added the WorkbookView.ExtraColor property which specifies the color of the extra space to the right of and below the last displayed cells.
Breaking Changes
- Closing a workbook, deleting a sheet or disposing of a workbook set now sets numerous properties to null. For example, when a worksheet is no longer valid, it's Workbook and WorkbookSet properties will return null.
- Fixed creating new workbook with multiple worksheets to select the first worksheet rather than the last.
Issues Addressed
- Fixed the DATE() worksheet function to work correctly with months of -11, -23, -35, etc.
- Fixed a problem which sometimes occurred when loading two workbooks, where workbook A refers to workbook B, and the number and/or order of sheets in workbook B has changed since workbook A was saved.
- Fixed AutoFit of columns to work more like Excel when dealing with merged cells and cells with wrapped text.
- Fixed copying of locked cells to unlocked cells in a protected worksheet to unlock the new cells as Excel does.
- Fixed SpreadsheetGear.IRange.RowHeight to return an appropriate height when the row is set to automatic height and changes are made which affect the row height.
- Improved support for automatically setting the format of a cell when a date, time, percent, currency, scientific notation, fraction, etc. is entered. SpreadsheetGear for .NET now changes the format even if it is not the default number format when the type of the new format is significantly different from the current number format, such as changing from $123 to 50%.
- Fixed problem which caused "Invalid shape index" exception with some workbooks.
- Fixed SpreadsheetGear.IRange.Value and IRange.Formula to allow entry of a single "=" as Excel does.
- 2.0.0.49 Fixed problem with Cut, Copy and Paste which sometimes caused formula cell values to be lost. (Jul 18, 2006)
- 2.0.0.49 Fixed null reference exception which sometimes occurred when making an undoable change to an entire column or entire row in the WorkbookView control. (Jul 18, 2006)
- 2.0.0.49 Fixed IName.Name property setter to throw an exception if the new name would create a duplicate defined name. (Jul 18, 2006)
- 2.0.0.49 Fixed pasting from the clipboard to no longer clear the formats of the destination cells when pasting text from the clipboard. (Jul 18, 2006)
- 2.0.0.49 Added workaround to read Biff8 workbooks which are sometimes written to the clipboard by Excel with invalid font indexes. (Jul 18, 2006)
- 2.0.0.49 Fixed parsing of certain formulas such as "=SUM(aaa:bbb)". (Jul 18, 2006)
- 2.0.0.49 Fixed some problems with editing of defined names in the Workbook Explorer. (Jul 18, 2006)
- 2.0.0.49 Fixed null reference exception which sometimes occurred when deleting a worksheet which has undoable actions associated with it. (Jul 18, 2006)
- 2.0.0.49 Fixed cell borders to paint on bottom and right edges when WorkbookView control is scrolled to bottom or right edge of visible cells. (Jul 18, 2006)
- 2.0.0.49 Improved performance when using Workbook Explorer with workbooks which have many worksheets and/or many defined names. (Jul 18, 2006)
- 2.0.0.49 Fixed row and column header painting issues when only the row or column header is visible. (Jul 18, 2006)
- 2.0.0.49 Fixed Formula Bar to update when last workbook is closed in the Workbook Designer. (Jul 18, 2006)
- 2.0.0.49 Fixed some WindowInfo problems when deleting a worksheet in a non-active WorkbookView. (Jul 18, 2006)
- Fixed problems with Undo and Redo after saving and closing workbooks.
- Fixed several minor issues with the WorkbookView and WorkbookDesigner.
- Fixed WorkbookView problem which sometimes caused cell text to be painted in the wrong location.
- Fixed IRange.AutoFit to throw exception for invalid ranges.
- Fixed unparsing of number formats such as "###,##0" to no longer return an extra comma at the start of the number format.
- Fixed unparsing of number formats to omit leading "\" for many characters as Excel does.
- Fixed ISheet.EvaluateValue and ISheet.EvaluateRange to work correctly with references to defined names in external workbooks.
- Fixed the IRange API to allow formatting part of a merged cell as the Excel API does.
- Improved TINV, FINV and BETAINV worksheet functions to return results for a wider range of inputs.
- Fixed IRR to never return a result <= -1 and added an initialization step which helps IRR to find a more appropriate solution when multiple solutions > -1 are available.
- Fixed problem which caused certain formulas containing ROW() or COLUMN() to fail to recalculate after these formulas are copied to other cells.
- Fixed parsing of formulas which reference names which begin with "true" or "false".
- Fixed Cut to no longer lock the cut cells if the worksheet has protection enabled.
- Fixed to no longer allow creation of workbooks with FitToPagesTall or FitToPagesWide set to zero when FitToPages is true.
- Fixed WorkbookView control to add leading "=" to formulas entered with leading "+" or "-".
- Fixed WorkbookView problem which caused sheet names with descenders to be clipped at certain screen resolutions.
- Fixed problem displaying the correct sheet tab when selecting a sheet which comes after a hidden sheet.
- Fixed problem writing workbooks with references to external VBA modules but which do not include their own VBA modules.
- Fixed to no longer set the default print resolution to 300 and the default paper size to Letter.
- Fixed IRange.Select() to grow the selection as needed for merged cells.
- Improved support for running the Range Explorer and Workbook Explorer at non-standard screen resolutions.
- Fixed Workbook Explorer to update defined names after Insert, Delete, etc...
- Fixed printing from the WorkbookView or Workbook Designer to get printer settings from the output device.
- Fixed Workbook Explorer to disable options when editing cells.
- Added confirmation message when setting Precision as Displayed from the Workbook Explorer.
- Fixed problems with copying and saving some formulas with external cell references.
- Fixed problem with IRange.CopyFromDataTable when inserting a large number of rows.
- Fixed to read files written by Macintosh Excel 2004 which were unreadable in certain cases.
- Improved TINV, FINV and BETAINV worksheet functions to return results for a wider range of inputs.
- Implemented workaround for Visual Studio 2005 Visual Basic compiler crash (see Microsoft KB 920145).
- Fixed pointing at 3d references in formulas to work with worksheet names which include spaces.
- Fixed FormulaBar name box to update as needed when defined names are modified.
- Fixed undo to work correctly with commands which include multiple areas.
- Fixed copying and pasting of 3d references to work correctly using a workbook named "Book1".
- Fixed problem with cutting and pasting which sometimes caused relative references to incorrectly be converted to #REF!
- Fixed problem with IWorksheet.EvaluateValue(...) which caused errors to be ignored with some formulas.
- Fixed unparsing of functions to use the correct argument separator when the argument separator is not a comma.
- Fixed printing problem which caused SpreadsheetGear for .NET to hang in some cases with hidden rows or hidden columns.
- Fixed problems with some combinations of WorkbookView.DisplayReference and frozen rows or columns.
- Implemented workarounds for invalid workbooks which are sometimes placed on the clipboard by Excel.
- Fixed IRange.GetAddress(...) method to add single quotes around workbook and worksheet names as needed.
- Fixed problem with selecting multiple ranges in a WorkbookView when the argument separator is not a comma.
- Fixed printing and print preview to correctly honor DisplayZeros setting.
- Fixed problem which caused cell entries such as 999e999 to be entered as #NUM! rather than as text.
- Fixed WorkbookView so that clicking on cells with the HYPERLINK(...) worksheet function works like Excel (requires "#" before a range reference).
- Fixed to properly display centered and right justified cells with trailing spaces.
- Fixed problem which caused some defined names to incorrectly return #NAME! in certain complex workbooks where the defined name is involved in a circular reference.
- Fixed Paste Special/Transpose to select the correct range and fixed Undo to work correctly after Paste Special/Transpose.
- Fixed problems with copying cells with PasteType.AllExceptBorders (also affected Paste Special/All Except Borders).
- Fixed reading and writing workbook number formats using locales which do not use comma for thousands separator and period for decimal separator.
- Fixed problems displaying worksheet tabs which sometimes occurred after changing the order of sheets in a workbook.
- Fixed problem which caused data in column IV to not be cleared when Deleting cells and shifting left.
- Fixed null reference exception which occurred when entering formulas such as "=OtherBook.xls!MyNameA + MyNameB".
- Fixed problem with F4 toggling between relative and absolute references in certain formulas.
- Optimized Insert and Delete to operate more efficiently in cases where an entire worksheet had been formatted.
- Fixed selection code to finish changing the current selection, including firing of selection events, when the Shift key is pressed.
- Fixed entering of new values into a cell formatted as percent to append "%" when entry of a new value is started.
- Fixed problems which occurred when printing from Print Preview.
- Fixed a problem which sometimes caused Excel to fail to open workbooks created by copying entire worksheets which contain JPG picture objects, PNG picture objects, form controls which reference a non-existent worksheet or charts with custom number formats.
- Fixed Data Validation with a list of "TRUE,FALSE" to work like Excel (allow entry of "True" or "true").
- Fixed a problem with inserting or deleting cells which sometimes caused relative 3D cell references to not be fixed up correctly.
- Fixed to write IF() and CHOOSE() worksheet functions to XLS files so that all arguments are not evaluated by Excel, which could lead to bogus circular reference reports (this did not affect the way SpreadsheetGear calculated workbooks).
- Fixed the IRR() function to correctly handle an initial guess of 0.0 which was being treated the same as the default guess (0.1).
- Fixed default and popup cell comment positions for merged cells which span multiple columns.
- Fixed printing from Print Preview to print the correct current page number in print headers and footers.
- Fixed cases where the WorkbookView selection indicator and / or the Formula Bar were not updated correctly.
- Added workaround for problems with .NET's MDI Windows Menu.
- Fixed default print range to include visible shapes.
- Fixed printing in black and white to correctly print double cell borders.
- Fixed problems painting certain rows with horizontal alignment set to filled or center across cells.
- Fixed the behavior of WorkbookView cell entries with leading "-" or "+" to behave more like Excel.
- Fixed ISheet.EvaluateValue and ISheet.EvaluateRange to honor IWorkbookSet.Calculation setting (don't calculate referred to cells if calculation is set to manual).
- Fixed to no longer throw null reference exceptions which occurred when evaluating certain formulas using ISheet.EvaluateValue, ISheet.EvaluateRange or IName.RefersToRange, where the formula being evaluated refers to cells which need to be calculated.
- Fixed IWorkbook.GetDataSet(...) to return all DataTables when the referred to range contains multiple areas which are specified with absolute references.
- Fixed IRange.Copy(IRange destination) to allow copying to a destination range which represents multiple areas.
- Fixed Cut followed by Paste to correctly fix up cell references in chart series, data validation custom formulas and form controls.
- Improved the performance of SUMIF, COUNTIF and database functions (DCOUNT, DSUM, etc...) which reference a significant number of sequential empty rows.
- Fixed and improved API documentation for various methods and properties.
- 2.5.1.117 / 1.5.117 Fixed a problem which caused incorrect formula evaluation in rare cases after copying certain formulas. (Mar 14, 2007)
- 2.5.1.117 / 1.5.117 Fixed a problem which caused Excel to generate invalid workbooks after using SpreadsheetGear for .NET to copy an entire worksheet which contained shapes, loading the new workbook into Excel, adding another shape in Excel (including a cell comment) and saving the workbook from Excel. (Mar 14, 2007)
- 2.5.1.119 / 1.5.119 Fixed a problem which sometimes caused SpreadsheetGear for .NET to write workbooks with a first shown sheet tab index greater than the number of visible sheets, causing Excel to display no sheet tabs and crash when the sheet tab scroll button is clicked. (Mar 23, 2007)
- 2.5.1.119 / 1.5.119 Fixed an unhandled exception which sometimes occurred when selecting an entire row or column which intersects with a merged cell at the left column or top row of the WorkbookView control. (Mar 23, 2007)
SpreadsheetGear for .NET Framework Version 1
New Features
- Significantly improved performance.
- Added support for getting and setting manual page breaks with the SpreadsheetGear.IRange.PageBreakproperty as well as the SpreadsheetGear.IHPageBreaks, SpreadsheetGear.IHPageBreak, SpreadsheetGear.IVPageBreaks and SpreadsheetGear.IVPageBreak interfaces.
- Added IRange.GetOffset(int rowOffset, int columnOffset) which returns an identical IRange except that it is offset by rowOffset rows and columnOffset columns.
- Added a new indexer to SpreadsheetGear.IRange which creates an instance of IRange from the specified starting and ending row and column offsets.
- Added the SpreadsheetGear.IRange.WrapText and SpreadsheetGear.IRange.WrapTextDefinedproperties.
- Added the SpreadsheetGear.IRange.Orientation and SpreadsheetGear.IRange.OrientationDefinedproperties, as well as the SpreadsheetGear.Orientation class with related constants.
- IRange.Copy methods.
- IRange.Copy: Copy rows, columns and cells.
- IRange.Copy: Control what is copied with the pasteType argument which supports all, all except borders, values, values and number formats, formulas, formulas and number formats, column widths or just formats.
- IRange.Copy: Consolidate cells by specifying PasteOperation.Add, PasteOperation.Subtract, PasteOperation.Multiplyor PasteOperation.Divide.
- IRange.Copy: Transpose cells by passing true for the transpose argument.
- IRange.Copy: Skip blank cells by passing true for the skipBlanks argument.
- Setting cell values with IRange.Value and IRange.Formula now sets the number format of the destination cell as Excel does.
- Tested with Visual Studio 2005 RTM.
- 1.0.9.7 Factory.GetWorkbookSet() method to create a workbook set with a specified culture. (Nov 18, 2005)
- 1.0.9.7 Factory.GetWorkbookSet( System.Globalization.CultureInfo ) method to create a workbook set with a specified culture. (Nov 18, 2005)
- Easily and efficiently copy or insert a DataTable into an Excel workbook with IRange.CopyFromDataTable(System.Data.DataTable dataTable, SpreadsheetGear.Data.SetDataFlags flags).
- Insert rows, columns and cells with IRange.Insert and IRange.Insert(InsertShiftDirection).
- Delete rows, columns and cells with IRange.Delete and IRange.Delete(DeleteShiftDirection).
- Clear rows, columns and cells with IRange.Clear, IRange.ClearContents and IRange.ClearFormats.
- Determine whether an IRange represents entire rows or entire columns with IRange.IsEntireRows and IRange.IsEntireColumns.
- Read and write charts, pictures, text and drawing objects.
- Ability to modify the data source for a chart.
- Copy entire worksheets with ISheet.CopyBefore and ISheet.CopyAfter.
- Move entire worksheets with ISheet.MoveBefore and ISheet.MoveAfter.
- Insert worksheets with IWorksheet.AddBefore and IWorksheet.AddAfter.
- Delete worksheets with ISheet.Delete.
- High performance SpreadsheetGear.Advanced.Cells.IValues interface for getting and setting cell values and formulas.
- Evaluate any Excel compatible formula with ISheet.EvaluateValue and ISheet.EvaluateRange.
- Added the ability to wrap rows from a DataTable to new worksheets when a DataTable does not fit on a single worksheet with SetDataFlags.WrapToNewWorksheet.
- Added support for System.DBNull, System.DateTime and System.Decimal to IRange.CopyFromDataTable and IRange.Value.
- Added the IRange.Name property to find the first defined name which refers to a range.
- Read and write cell data validation information.
- Read and write formatting styles.
- Added CurrentRow, CurrentColumn and CurrentWorksheet properties to the SpreadsheetGear.CustomFunctions.IArguments interface.
- Added IWorksheet.Range and IRange.Range as a convenience to those who are familar with the Excel API.
- Added IRange.RowCount, IRange.ColumnCount. IRange.AreaCount and IRange.GetArea.
- Significantly improved calculation performance for most workbooks which utilize iteration.
- Significantly improved performance for adding defined names as well as for calculating most workbooks which utilize defined names.
- Optimized IWorksheet.UsedRange to cache results.
- 1.2.0.23 Added support for reading and writing cell comments. (Apr 30, 2006)
- 1.2.0.23 Added IWorkbookSet.ReadObjects property which makes it possible to ignore drawing objects when reading a workbook. (Apr 30, 2006)
Issues Addressed
- Fixed formatting of entire rows, entire columns and entire worksheets to work correctly.
- Fixed setting SpreadsheetGear.IRange.Value and SpreadsheetGear.IRange.Formula to work correctly when a cell is formatted as text (such as a NumberFormat of "@"). Setting a cell formatted as text always puts the text in the cell without trying to convert it to a formula, number, date, time or logical value.
- Fixed parsing of formulas which contain references to worksheets with a name which does not start with a letter or underscore (such as "=2005!A1"). This already worked correctly if the worksheet name was surrounded by single quotes (such as "='2005'!A1"), but Excel, as well as SpreadsheetGear for .NET 1.0.7, allows these to be entered without the single quotes.
- Fixed IRange.MergeCells and IRange.MergeCellsDefined to return the correct values when reading a file written by Excel.
- Fixed to allow custom function references to external XLA functions so that a custom function named "MYADD()" will be used for an XLA custom function reference such as "=Workbook.xla!MYAdd()".
- Fixed so that newly created worksheets start looking for a name to use at "SheetX" instead of "Sheet1" where X is the new number of worksheets in the workbook. This was done to provide behavior which is consistent with Excel.
- Fixed adding a formula with a new external workbook name reference (such as "=Workbook!AName") to work.
- Fixed formatting of dates and the TEXT(...) worksheet function to work correctly with the 1904 date system.
- Fixed references with URL's such as "=http://abc.com/Worksheet.xls" to unparse correctly.
- Fixed the SMALL(...) and LARGE(...) worksheet functions to truncate k rather than rounding it.
- Fixed various IRange property setters and methods to correctly check for partial merged cells and partial array formulas.
- Fixed setting of palette entries to work correctly.
- Fixed setting IRange.Formula to correctly parse dates.
- Fixed issue with the INDIRECT(address) worksheet function which resulted in cells containing the INDIRECT function sometimes not being calculated.
- Fixed issue with OFFSET(range, rows, cols...) which resulted in cells sometimes not being calculated if the starting range was limited to cells in the same column as the cell containing the function.
- Fixed issues with setting and writing row heights and row hidden status.
- Fixed SUMIF() and COUNTIF() worksheet functions to convert date criteria to a number as Excel does. SUMIF(criteriaRange, "<11/10/2005", dataRange) now treats 11/10/2005 as a date serial number rather than text.
- Fixed problem with SUMPRODUCT(...) which caused it to sometimes not calculate it's arguments as arrays.
- 1.0.9.7 Fixed rounding of certain numbers to work more like Excel. (Nov 18, 2005)
- 1.0.9.7 Fixed copying of columns to copy column hidden and outline settings. (Nov 18, 2005)
- 1.0.9.7 Fixed parsing of functions with spaces before a function name and the function's closing parenthesis; "= PI( )" was getting changed to "=PI( )". (Nov 18, 2005)
- Fixed parsing of formulas with strings containing embedded quotes to work correctly.
- Fixed setting of IBorder.ColorIndex and IBorders.ColorIndex to ColorIndex.Automatic and ColorIndex.None to work correctly.
- Made setting of borders work more like Excel. For example, setting just the color now sets a default line style and setting just a line style now sets the color index to ColorIndex.Automatic.
- Fixed IInterior properties to work more like Excel.
- Optimized setting IRange.NumberFormat of an entire row or entire column and fixed to no longer grow the used range innapropriately.
- Fixed setting of row and column outlines and sizes which threw an exception for certain rare cases.
- Fixed a problem with parsing some formulas which reference an addin function.
- Fixed IRange.CopyFromDataTable to check for partial merged cells, partial array formulas and locked cells.
- Fixed a number of help file errors.
- Fixed a problem which caused workbooks to grow very large when copying all the cells of one worksheet to a worksheet in another workbook when the default cell format is not the same.
- Fixed a problem which caused workbooks to grow very large when the heights of all rows are set to the same value.
- Fixed ISheet.Name to disallow creating multiple sheets with the same name.
- Fixed IRange.AutoFit to correctly recognize and ignore merged cells.
- Fixed ISheet.Visible to update the active sheet as needed.
- Fixed ISheet.Visible to disallow hiding the last visible worksheet.
- Fixed to parse defined name formulas without a leading "=" as Excel does.
- Fixed to parse "=Sheet!#REF!" as Excel does.
- Fixed IRange.Hidden to work with multiple areas.
- Fixed setting IRange.Value to no longer change the number format of a cell which already has a non-default number format.
- 1.2.0.5 Fixed to properly handle defined names where the name starts with what looks like a valid cell reference followed by an underscore or a period, such as A1_" or "A1.". (Mar 30, 2006)
- 1.2.0.7 Fixed ISheet.CopyBefore and ISheet.CopyAfter to copy all cell formatting, not just the number formats. (Mar 30, 2006)
- 1.2.0.9 Fixed problem with ISheet.Delete not fixing up some 3D references correctly. (Mar 30, 2006)
- 1.2.0.11 Fixed problem with IRange[string index] not handling sheet specific defined names. (Mar 30, 2006)
- 1.2.0.15 Fixed problems with iteration which affected some workbooks. (Apr 11, 2006)
- 1.2.0.17 Fixed setting inside vertical and inside horizontal borders to work correctly. (Apr 13, 2006)
- 1.2.0.19 Fixed a problem which caused large worksheets to be generated when copying an entire worksheet where the source and destination have different default row heights. (Apr 17, 2006)
- 1.2.0.21 Removed a call to an overloaded System.Array.Copy method which does not exist in .NET 1.0; Note that SpreadsheetGear for .NET still does not officially support .NET 1.0. (Apr 17, 2006)
- 1.2.0.23 Added support to allow reading of invalid Excel workbooks written by some 3rd party software. (Apr 30, 2006)
- 1.2.0.23 Fixed problem copying some drawing objects with ISheet.CopyBefore(ISheet) and ISheet.CopyAfter(ISheet). (Apr 30, 2006)
- 1.2.0.23 Fixed to delete controls which reference macros when reading. (Apr 30, 2006)
SpreadsheetGear 2017 for Silverlight (V8)
New Features
- Official support for Excel 2013 and Excel 2016.
-
Support for 50 new Excel 2013 functions as well as the Excel 2010 AGGREGATE function:
- ACOT
- ACOTH
- AGGREGATE
- ARABIC
- BASE
- BINOM.DIST.RANGE
- BITAND
- BITLSHIFT
- BITOR
- BITRSHIFT
- BITXOR
- CEILING.MATH
- COMBINA
- COT
- COTH
- CSC
- CSCH
- DAYS
- DECIMAL
- ENCODEURL
- FILTERXML
- FLOOR.MATH
- GAMMA
- GAUSS
- IFNA
- IMCOSH
- IMCOT
- IMCSC
- IMCSCH
- IMSEC
- IMSECH
- IMSINH
- IMTAN
- ISFORMULA
- ISO.CEILING
- ISOWEEKNUM
- MUNIT
- NUMBERVALUE
- PDURATION
- PERMUTATIONA
- PHI
- RRI
- SEC
- SECH
- SHEET
- SHEETS
- SKEW.P
- UNICHAR
- UNICODE
- WEBSERVICE
- XOR
-
Excel 2016 compatible conditional formatting including:
- Icon Sets
- Data Bars
- Color Scales
- Highlight Cells
- Top n / Bottom n Rules
- More than 3 Rules per cell
- Advanced Rules
- Overlapping Rules
- Autofilter by font color, cell color and conditional format icon.
- Support for reading, writing, modifying and rendering gradient cell backgrounds as well as API support with the IRange.Interior.Gradient and IRange.Interior.Pattern properties.
- Support for reading and writing encrypted workbooks with the new Agile Encryption used by Excel 2013 and later including default SHA-512 encryption for workbooks.
- Support for new Excel 2013 and later workbook structure and worksheet protection passwords.
- SpreadsheetGear for .NET Standard for Windows Nano Server 2016 support) including support for .NET Framework 4.7.
- Visual Studio 2017 support including Windows Forms and WPF control toolbox integration, IntelliSense and Microsoft Help Viewer 2.3 integration.
- Added IWorkbookSet.WithLock(Action) and WorkbookView.WithLock(Action) methods to simplify GetLock...try...finally...ReleaseLock sequences (not included in the .NET Framework 2.0 assembly).
- Enabled multi-threaded recalc for array formulas and worksheet functions which evaluate as arrays (including functions such as SUMPRODUCT).
- Improved the performance of copying formulas with 3d cell references, 3d name references and / or addin function references.
- Improved the performance of a number of worksheet functions.
- Improved the performance of parsing formulas with 3d references which refer to a workbook with a large number of worksheets. This yielded a dramatic performance improvement when reading Open XML workbooks with a significant number of such references.
- Added support for smooth line rendering in charts for the WPF and Silverlight WorkbookView controls.
- New workbooks now use Excel 2016 theme.
- 8.1.1.100 Improve the performance of workbooks with large numbers of merged cells. (Dec 13, 2017)
- 8.1.1.100 Improve IRange.Copy performance for certain cases of copying a multiple row range to a range with more rows than the source. (Dec 13, 2017)
- 8.1.1.100 Improve performance of adding a large number of worksheet specific defined names using INames.Add. (Dec 13, 2017)
- 8.1.1.100 Increase support for unique text cells from approximately 2GB of text to approximately 30GB of text. (Dec 13, 2017)
Breaking Changes
- Moved redundant SpreadsheetGear.Windows.Forms.RangeLocationFlags and SpreadsheetGear.Windows.Controls.RangeLocationFlags to SpreadsheetGear.Controls.RangeLocationFlags.
Issues Addressed
- Added a number of workarounds to enable the reading of Open XML workbooks which are technically illegal but which Excel allows.
- Fixed a significant number of worksheet functions to catch up with improvements made to Excel in recent years. This work was validated against Excel 2016.
- Fixed a number of pre-existing worksheet function bugs found while validating against Excel 2016. These were generally obscure bugs having to do with special cases such as combinations of functions when used in array formulas (this is one of the more common of many examples).
- Fixed a problem which caused a number of functions to be saved incorrectly so that Excel would treat these functions as user defined functions rather than built in functions. This happened only with functions which were added in Excel 2010 or later. SpreadsheetGear now properly parses and saves all worksheet functions included in Excel 2016 as of March 2017.
- Fixed IRange.Autofit() for cases where columns are sparsely populated. Autofitting rows for a worksheet where only the last few rows are filled went from half an hour to 0.025 seconds.
- Fixed issues when reading X category axes when scatter and category type combination charts are combined on the same axis.
- Fixed an issue which caused a crash after renaming a workbook or sheet when using WorkbookView.DisplayReference. This problem occurred whether changing the workbook name when saving the workbook or changing the workbook or sheet name with the API.
- Fixed issues with chart data label layout on bar and column charts when the data values are very small compared to the axis min to max value range.
- Fixed formatted text to include trailing whitespace when rendering underlines and strikeouts.
- Fixed reading and writing workbooks with agile encryption to no longer create a copy of the entire workbook file in memory.
- Fixed autofilters to convert criteria containing a date to a number as Excel does.
- 8.0.53.100 Fixed an issue which caused certain complex formulas containing whitespace to return incorrect results. (Jun 22, 2017)
- 8.0.54.100 Fixed problems with layout and rendering of merged cells when merged cells are no longer on screen. (Jun 22, 2017)
- 8.0.54.100 Fixed UNICODE and UNICHAR functions to work with UTF-32 code points > 65535. (Jun 22, 2017)
- 8.0.55.100 Fixed an issue which caused scrolling to fail to render correctly in some cases when WorkbookView.RangeToLocation is called from a WorkbookView.ScrollPositionChanged event handler. (Jun 26, 2017)
- 8.0.56.100 Fixed a problem which caused parsing of the EUROCONVERT function with 3 or 4 arguments to throw an exception. (Jun 30, 2017)
- 8.0.56.100 Fixed an issue which caused the SHEETS function to throw an exception when a WorkbookView was attached to the workbook set containing the function. (Jun 30, 2017)
- 8.0.57.100 Fixed to no longer clear the redo stack when executing ignored commands. (Jul 13, 2017)
- 8.0.57.100 Fixed performance issues with autofilter dropdown buttons always being created even when they are not in the viewable area. (Jul 13, 2017)
- 8.0.57.100 Fixed mouse problems with Outline grouping buttons when using split or frozen panes. (Jul 13, 2017)
- 8.0.61.100 Fixed issues with WorkbookView.LocationToRange APIs when used with frozen or split rows and / or columns. (Jul 20, 2017)
- 8.0.61.100 Fixed a problem which caused Excel to fail to read a workbook written by SpreadsheetGear which has conditional formats with both number formats and interior colors on the same criteria. (Jul 20, 2017)
- 8.0.61.100 Fixed a problem with IRange.Copy which occurred when used with PasteType.Values and fewer rows in the source range than the destination range. (Jul 20, 2017)
- 8.0.61.100 Changed the WorkbookView.ScrollPositionChanged event to fire after the WorkbookView is finished scrolling and updating internal state so that APIs can be used safely from the event handler. (Jul 20, 2017)
- 8.0.61.100 Fixed a problem with copying to the clipboard in some cases when autofilters are applied and the source range has exactly one visible row. (Jul 20, 2017)
- 8.0.62.100 Fixed shapes to render when width or height of shape is zero. (Aug 2, 2017)
- 8.0.62.100 Fixed FormatConditionOperator.Between and FormatConditionOperator.NotBetween to work as Excel does when the first value is greater than the second value. (Aug 2, 2017)
- 8.0.63.100 Fixed an issue with HLOOKUP and VLOOKUP with the 'range_lookup' argument set to FALSE which sometimes caused precedent cells to not be calculated before being used. (Aug 10, 2017)
- 8.0.64.100 Fixed an issue which caused a NullReferenceException to be thrown when cell validation displays a message in a modal dialog after clicking the mouse to change the currently selected cell. (Aug 28, 2017)
- 8.0.64.100 Fixed problems which caused overridden methods in subclasses of CommandManager and Command to sometimes not be called. (Aug 28, 2017)
- 8.0.64.100 Fixed the FormulaBar, in-cell editor and the IRange.Entry property to provide editable text like Excel 2016 for cells formatted as a date and / or time. (Aug 28, 2017)
- 8.0.65.102 Fixed rendering problems with conditional formats when the cell interior uses a fill color and the conditional format color and / or pattern color are transparent. (Sep 11, 2017)
- 8.0.65.102 Implemented calculation performance improvements for certain workbooks which contain a large number of columns. (Sep 11, 2017)
- 8.0.66.100 Fixed IRange[string reference], IRange.Address and IRange.GetAddress to work with strings >= 64K in length and made improvements to IRange[string reference] performance in cases where the returned IRange has a high IRange.AreaCount. (Sep 26, 2017)
- 8.0.66.100 Fixed a problem which sometimes occurred when copying array formulas to other cells in the same column. (Sep 26, 2017)
- 8.0.66.100 Fixed an issue where scrollbar values were being set incorrectly based on the last sheet tab. (Sep 26, 2017)
- 8.0.66.100 Added support for copying from a partial array formula. (Sep 26, 2017)
- 8.0.66.100 Fixed pasting text from Windows clipboard in Silverlight WorkbookView control. (Sep 26, 2017)
- 8.0.66.100 Fixed clearing of cell contents to no longer throw an exception when clearing a data table without clearing the input rows and / or input columns. (Sep 26, 2017)
- 8.0.66.100 Fixed WorkbookView.RewindLock to work correctly. (Sep 26, 2017)
- 8.0.68.100 Fixed issues in Silverlight WorkbookView where text cells are sometimes displayed incorrectly when they are offscreen but overflow into the viewable area. (Oct 11, 2017)
- 8.0.68.100 Fixed a rendering issue which occurred when resizing rows or columns when using split panes. (Oct 11, 2017)
- 8.0.68.100 Fixed Calculation.SemiAutomatic mode to calculate data tables when F9 or CTRL+ALT+F9 is pressed and when IWorkbookSet.Calculate or IWorkbookSet.CalculateFull is invoked. (Oct 11, 2017)
- 8.0.68.100 Fixed problems which sometimes caused shapes to not be properly moved when cells are inserted or deleted. (Oct 11, 2017)
- 8.0.68.100 Fixed setting the contents of a cell to be more compatible with Excel 2016 when it updates the cell to use a new number format. (Oct 11, 2017)
- 8.0.69.100 Fixed hiding and showing of rows and columns to update IRange.ShowDetails as approprate. (Oct 24, 2017)
- 8.0.69.100 Fixed problems with the IFERROR and INDEX worksheet functions which occurred with certain very complex workbooks. (Oct 24, 2017)
- 8.0.73.100 Fixed problems with IRange.Find which occurred when finding on a worksheet with autofilters and hidden rows, when the specified 'after' argument references a cell in one of these hidden rows. (Oct 24, 2017)
- 8.0.73.100 Fixed an issue which caused shapes to fail to be moved and / or resized as needed when IRange.ShowLevels is used to show or hide rows or columns. (Oct 24, 2017)
- 8.0.75.100 Fixed an issue which caused the right or bottom cell border to fail to paint when the last column or row in the displayed range is hidden and there is extra display space beyond the last cell. (Nov 3, 2017)
- 8.0.75.100 Fixed issue where we were losing the tint and shade settings when reading chart and shape font colors from an Open XML workbook. (Nov 3, 2017)
- 8.0.75.100 Fixed an issue which caused exceptions to be thrown in cases where multiple unreferenced WorkbookView controls are reclaimed by the garbage collector at one time without having had Dispose called on them. (Nov 3, 2017)
- 8.0.75.100 Fixed a problem in the Formula Bar which caused the name box to fail to update after selecting ranges with the keyboard while hodling down the Shift key. (Nov 3, 2017)
- 8.1.1.100 Fixed an issue which caused shapes to fail to render in certain cases. (Dec 13, 2017)
- 8.1.1.100 Updated default font in a new workbook used with Japanese CultureInfo to be consistent with Excel 2016 (changed from "MS PGothic" to "Yu Gothic"). (Dec 13, 2017)
- 8.1.1.100 Fixed conditional formats to ignore interior pattern styles of None as Excel does. (Dec 13, 2017)
- 8.1.1.100 Fixed border rendering to take into account the luminosity of red, green and blue when choosing darker borders over lighter borders as Excel does. (Dec 13, 2017)
- 8.1.2.100 Fixed an issue which caused conditional formats to fail to render correctly in certain cases when cells are scrolled into view. (Dec 13, 2017)
- 8.1.2.100 Fixed an issue which caused an exception to be thrown in certain cases when pasting cell formulas which reference worksheet scoped defined names on a worksheet in another workbook. (Dec 13, 2017)
- 8.1.5.100 Fixed copying and pasting a cell formula with a reference to a worksheet specific defined name on another worksheet in the same workbook to work correctly. (Dec 16, 2017)
- 8.1.8.100 Fixed an issue which caused the copying of cells with multiple conditional format criteria to another worksheet to sometimes lose the order of the criteria. (Jan 16, 2018)
- 8.1.10.100 Moved various caches used by workbook calculations to a WeakReference so that they can be garbage collected when not in use. (Jan 18, 2018)
- 8.1.13.100 Fixed an issue which caused autofit row heights to sometimes not be up to date when Excel reads a SpreadsheetGear workbook. (Feb 9, 2018)
- 8.1.16.100 Fixed an issue which caused newer versions of Excel to read an incorrect default column width for some xls workbooks. (Feb 23, 2018)
- 8.1.16.100 Fixed the SHEET function to work with a sheet name passed in as text as Excel does. (Feb 23, 2018)
- 8.1.17.100 Fixed setting worksheet names to throw an exception if the new name ends with a ' as Excel does. (Mar 14, 2018)
- 8.1.18.100 Improved performance of IShapes.AddPicture for certain cases when done on a worksheet with row heights set to automatic. (Mar 21, 2018)
- 8.1.19.100 Fixed an issue which caused shape changes made in SpreadsheetGear to sometimes not be reflected in Excel when the original xls workbook had been written by Excel 2007 or later and the changes were saved to xls. (Apr 9, 2018)
- 8.1.19.100 Fixed NullReferenceException which occurred when editing formulas across multiple sheets and going back to the original editing sheet and entering the formula with the Enter key. (Apr 9, 2018)
- 8.1.21.100 Fixed a performance problem which happened for certain cases when setting a large number of cell values in cells which are not the last cell of the same type in that column. (Apr 18, 2018)
- 8.1.21.100 Changed WorkbookView sheet tabs for "ja-JP" CultureInfo users to use the "Tahoma" font instead of the "Yu Gothic" font. (Apr 18, 2018)
- 8.1.21.100 Fixed a problem with the way SpreadsheetGear reads charts with certain combinations of multiple value axes. (Apr 18, 2018)
- 8.1.22.100 Fixed an issue which caused the WorkbookView to throw an exception when all non-hidden rows or columns are scrolled off the screen and then the mouse is moved over the column or row headers. (Apr 30, 2018)
- 8.1.24.100 Fixed an issue which caused IHyperlinks.Delete() to throw an exception. (Apr 30, 2018)
- 8.1.25.100 Fixed an issue which caused SpreadsheetGear to write an invalid Open XML file if data validation uses ValidationType.Custom and the formula is a string constant. (Apr 30, 2018)
- 8.1.25.100 Improved the layout of print title rows and print title columns to better match the way Excel prints them. (Apr 30, 2018)
- 8.1.27.100 Fixed to read xls workbooks written by legacy versions of Excel which have unused supporting workbook records. (May 14, 2018)
- 8.1.27.100 Improved the performance of certain very complex workbooks which use the INDEX worksheet function. (May 14, 2018)
- 8.1.29.100 Fixed to read Open XML workbooks containing a chart series with greater than 65,535 cached data values. (May 22, 2018)
- 8.1.30.100 Fixed an issue which caused IRange[string] to incorrectly throw an exception in the case of a worksheet name which contained an argument separator character (comma for US English). (May 24, 2018)
- 8.1.31.100 Improved LINEST, LOGEST, GROWTH and TREND functions handling of near collinearity. (Jun 13, 2018)
- 8.1.32.100 Fixed copying of worksheets to copy the worksheet tab color. (Jul 6, 2018)
- 8.1.32.100 Added a work around for certain invalid .xls workbooks which were written by the Actuate Formula One spreadsheet component. (Jul 6, 2018)
- 8.1.33.100 Improved performance for some complex array formulas. (Jul 20, 2018)
- 8.1.33.100 Fixed IPane.ScrollColumn and ScrollRow to apply value in certain cases when they were ignored. Also fixed issue with these properties which could write out corrupt Excel workbooks. (Jul 20, 2018)
- 8.1.35.100 Fixed the exception error message used when trying to set an invalid font height. (Sep 1, 2018)
- 8.1.35.100 Fixed to allow a formula such as "=#REF!:INDEX(#REF!:B10,2)" as Excel does. (Sep 1, 2018)
- 8.1.35.100 Fixed issue where adjoining cell borders that use different shade of the same Theme Color would not always render correctly. (Sep 1, 2018)
- 8.1.35.100 Improved the IRR and XIRR functions to find better solutions more often and to do a better job of catching errors due to numeric overflow. (Sep 1, 2018)
- 8.1.35.100 Fixed a problem which caused data validation to sometimes incorrectly return false when the cell being validated is below the last data cell in a column and the data validation has the possibility of returning true for a blank cell. (Sep 1, 2018)
- 8.1.35.100 Fixed an issue which caused worksheets with multiple panes and a selection of A1 to sometimes not have the correct selection after the workbook is written to Open XML by SpreadsheetGear and opened by Excel. (Sep 1, 2018)
- 8.1.36.100 Fixed date parsing to allow parsing dates without spaces such as "01nov" and "nov2018" as Excel does. (Sep 1, 2018)
- 8.1.38.100 Fixed an issue in the rich text formatting API which caused the resulting format to sometimes be incorrect. (Sep 10, 2018)
- 8.1.40.100 Added a workaround to open certain Open XML workbooks which store the Ignorable attribute after an attribute which is to be ignored. (Sep 13, 2018)
- 8.1.41.100 Fixed an issue which caused SpreadsheetGear to lose the chart data label orientation value in certain cases. (Sep 27, 2018)
- 8.1.41.100 Fixed number formats such as "$?,???,???,??0" to include spaces for unneeded decimal separators. (Sep 27, 2018)
- 8.1.44.100 Fixed an issue which caused incorrect values to be copied in certain cases when multiple cells were copied within the same column and the destination range was larger than the source range. (Sep 27, 2018)
- 8.1.44.100 Fixed an issue which caused pointing at cell references when editing formulas with split panes to scroll to the wrong location in some cases. (Sep 27, 2018)
- 8.1.46.100 Fixed a number of problems in the FILTERXML function including convert a subset of ISO 8801 date / time values to a date / time serial number, use the invariant culture and honor the IWorkbook.Date1904 setting when parsing dates, times and numbers, parse "TRUE" and "FALSE" to logical values, correctly handle XPath attribute queries, remove leading and trailing whitespace unless xml:space="preserve" is specified. (Oct 7, 2018)
- 8.1.47.100 Fixed a problem which caused reading certain conditional formats from an Open XML workbook to throw an exception when the default CultureInfo did not use '.' for the decimal separator. (Oct 12, 2018)
- 8.1.50.100 Fixed a problem with the AGGREGATE worksheet function when used in a non array formula cell with a 3rd argument which requires array style evaluation. (Oct 17, 2018)
- 8.1.53.100 Fixed a problem reading and writing row formatting information from / to xls workbooks when the workbook has more than 4095 unique cell formats. (Oct 29, 2018)
- 8.1.57.100 Improved IRR and XIRR to find the root closer to the initial guess more often when there are multiple roots. (Nov 28, 2018)
- 8.1.58.100 Fixed an issue which caused formulas with multiple reference operators (Range, Intersection and / or Union operators) to sometimes be calculated incorrectly. (Dec 6, 2018)
- 8.1.59.100 Fixed a problem with the SUMIFS, AVERAGEIFS and COUNTIFS functions which occurred for certain cases where one of the criteria values was specified by a defined name whose formula used a function returning a cell reference such as OFFSET or INDEX. (Jan 19, 2019)
- 8.1.63.100 Fixed parsing of formulas to be limited to 256 levels of nesting for parentheses and 65 levels for functions as Excel does. (Mar 6, 2019)
- 8.2.6.100 Fixed an exception which occurred when moving the mouse over a WorkbookView with certain combinations of split panes and hidden rows or columns. (Mar 6, 2019)
- 8.2.7.100 Fixed a problem which caused SpreadsheetGear to write invalid Open XML workbooks if the compressed size of a zip stream is less than uint.MaxValue and the uncompressed size is greater than or equal to uint.MaxValue. (Mar 27, 2019)
- 8.2.7.100 Optimized some cases of formatting a large number of cells ending with the last row in a worksheet. (Mar 27, 2019)
- 8.2.9.100 Fixed an issue which caused invalid calculation results in some cases after copying formula cells where the formulas return logical values or errors. (Mar 30, 2019)
- 8.2.11.100 Fixed problems with the database functions (DSUM, DAVG, etc...) when they have formula criteria cells with database functions in the formulas. (Apr 8, 2019)
- 8.2.11.100 Fixed a rare problem which could cause a WorkbookView not to update after changes were made to a workbook. (Apr 8, 2019)
- 8.2.11.100 Fixed an issue which caused an exception to be thrown in some cases when modifying a text cell while a WorkbookView is attached. (Apr 8, 2019)
- 8.2.15.100 Added workaround for possibility of CultureInfo with missing number or date / time settings. (Apr 26, 2019)
- 8.3.1.100 Added IRange.IsDisposed, ISheet.IsDisposed, IWorkbook.IsDisposed, IWorkbookSet.IsDisposed and IShapeRange.IsDisposed properties. (May 7, 2019)
- 8.3.1.100 Changed WorkbookView events to no longer fire if the associated EventArgs has a reference to a disposed IRange, ISheet, IWorkbook, IWorkbookSet, IShape or IShapeRange. (May 7, 2019)
- 8.3.1.100 Changed firing of WorkbookView events to catch and silently discard all exceptions thrown by event handlers to make the WorkbookView more resilient to problems with event handlers. (May 7, 2019)
- 8.3.3.100 Fixed IRR to return an error instead of a rate which yields a relatively high NPV for certain cases which previously returned the rate. (May 24, 2019)
- 8.3.3.100 Improved sorting performance for certain large cases. (May 24, 2019)
- 8.3.4.100 Fixed an issue which caused the display of data validation listboxes to be delayed in some cases. (Jun 3, 2019)
- 8.3.7.100 Fixed a problem with Undo sometimes failng after changing row or column size with shapes that are in a fixed position or have a fixed size on a worksheet. (Aug 13, 2019)
- 8.3.8.100 Fixed an issue with IRange.Find which caused it to find cells in the wrong order on worksheets with autofilters for some cases with SearchOrder.ByColumns. (Aug 26, 2019)
- 8.3.9.100 Fixed an issue which caused an exception to be thrown when scrolling a WorkbookView with certain combinations of frozen panes and merged cells. (Sep 4, 2019)
- 8.3.10.100 Fixed an issue with CHOOSE which caused an exception to be thrown if the specified index is >= 2147483648.0. (Sep 23, 2019)
- 8.3.11.100 Improved numeric stability for IRR with a large numbers of values. (Sep 23, 2019)
- 8.3.12.100 Fixed IWorksheetWindowInfo SplitRows, SplitColumns, SplitHorizontal and SplitVertical properties to allow larger values as Excel does. (Oct 17, 2019)
- 8.3.12.100 Improved handling of IRR and XIRR for cases where the final accumulated rate is very small (close to -1) or very large. (Oct 17, 2019)
- 8.3.14.100 Changed reading Open XML workbooks to ignore chart data cache items with invalid index numbers instead of throwing an exception. (Oct 25, 2019)
- 8.3.16.100 Fixed SpreadsheetGear 2017 for .NET Framework and SpreadsheetGear 2017 for Silverlight installers to work on Azure AD Joined devices using Azure AD credentials. (Nov 13, 2019)
- 8.3.17.100 Updated InstallShield to use new digital certificate timestamp server for SpreadsheetGear installers. (Nov 13, 2019)
- 8.3.20.100 Fixed an issue which sometimes caused exceptions when IWorkbookSet.CalculationOnDemand is changed from false to true after a workbook set has been calculated. (Dec 5, 2019)
- 8.3.20.100 Fixed an issue with adding defined names which sometimes caused a worksheet specific defined name to be incorrectly added instead of a global defined name. (Dec 5, 2019)
- 8.3.20.100 Fixed an issue with circular reference iteration not iterating on the first recalc when there are multiple independent circular reference paths. (Dec 5, 2019)
- 8.3.25.100 Fixed an issue which caused workbooks saved by SpreadsheetGear to .xls that contain shapes with background image fills to be opened by Excel in protected mode. (Dec 30, 2019)
- 8.3.26.100 Fixed some problems with rendering of conditional format color scales when the low value matches the mid-point value and the cell value is <= to the mid-point value. (Jan 7, 2020)
- 8.3.27.100 Improved performance for certain cases with very large numbers of unique formulas. (Jan 14, 2020)
- 8.3.28.100 Fixed an issue which caused an exception to be thrown in some cases when the NUMFILE option of the INFO function is evaluated when a WorkbookView is attached to the workbook set. (Feb 3, 2020)
- 8.3.32.100 Fixed an issue which caused defined name comments to not be copied when copying across worksheets or workbooks. (Feb 3, 2020)
- 8.3.34.100 Fixed the CELL("width", ...) worksheet function to recalculate when column widths or column hidden state is changed, and improved it to return a value which is closer to the result returned from IRange.ColumnWidth. (Feb 20, 2020)
- 8.3.36.100 Fixed reading CSV and text files to put text with a leading '=' into cells as text if they cannot be parsed as valid formulas. (Mar 5, 2020)
- 8.3.37.100 Fixed SpreadsheetGear Help to work on systems which only have Visual Studio 2019 installed. (Mar 24, 2020)
- 8.3.39.100 Fixed issues with Mouse wheel not scrolling to the top visible row in certain cases. (Apr 15, 2020)
- 8.3.39.100 Changed to ignore empty chart formula elements when reading Open XML. (Apr 15, 2020)
- 8.3.40.100 Fixed to no longer throw an exception when using multiple formula bars with multiple WorkbookView controls attached to the same workbook set. (Apr 22, 2020)
- 8.3.41.100 Fixed formatting of dates and times to format negative dates and times as Excel does when using the Date1904 date time format. (Jun 3, 2020)
- 8.4.2.100 Fixed problems with AutoFill when freeze panes is enabled. (Jun 3, 2020)
- 8.4.3.100 Added workaround for customer workbook which has missing 'cellStyle' element in the styles part of an Open XML workbook. (Aug 20, 2020)
- 8.4.4.100 Fixed a problem where the INDEX function sometimes returned incorrect results in array formulas for cases where arguments to INDEX are missing. (Sep 18, 2020)
- 8.4.4.100 Fixed a problem with IFERROR which caused it to fail to recognize errors and therefore return an incorrect result in some cases involving array formulas. (Sep 18, 2020)
- 8.5.2.100 Fixed an issue which caused defined names to return #NAME! in certain complex workbooks. (Oct 26, 2020)
- 8.5.3.100 Fixed a bug with the FIXED function which caused it to return an incorrect result for some locales. (Nov 25, 2020)
- 8.5.5.100 Improved IRR to return better results with leading zeros in the specified values. (Dec 16, 2020)
- 8.5.5.100 Fixed a problem which caused conditional formats to sometimes fail to render correctly when changes are made to non-formula cells. (Dec 16, 2020)
- 8.5.6.100 Fixed an issue which caused AVERAGEIF to return an invalid error value leading to exceptions when the result is painted. (Jan 12, 2021)
- 8.5.7.100 Fixed a problem with sorting rows when there are multiple hyperlinks in each row or sorting columns when there are multiple hyperlinks in each column. (Feb 2, 2021)
- 8.5.9.100 Fix issues with Auto Filters not filtering correctly when cell color is default auto color. (Mar 22, 2021)
- 8.5.10.100 Fixed a problem which caused an exception to be thrown if there was leading or trailing whitespace around certain numbers in an Open XML document. (May 5, 2021)
- 8.5.12.100 Fixed an issue which caused bad xls files to be written when there is a reference to another workbook with a large number of worksheets. (May 5, 2021)
- 8.5.13.100 Fixed charts to repaint when rows or columns are collapsed or expanded using outline controls. (May 5, 2021)
- 8.6.2.100 Fixed an issue which caused some Unicode characters to be lost when written to tab delimited text files. (May 26, 2021)
- 8.6.5.100 Fixed to read xls workbooks with formulas containing certain invalid external references, replacing the invalid reference with #N/A as Excel does. (Jul 22, 2021)
- 8.6.6.100 Added a workaround to allow reading certain .xls workbooks written by Excel 2019 with invalid workbook streams. (Aug 3, 2021)
- 8.6.7.100 Added a workaround to read Open XML workbooks with certain invalid cell formatting records. (Aug 3, 2021)
- 8.6.8.100 Fixed IFERROR to not return arrays in non-array-formula cells. (Sep 29, 2021)
- 8.6.10.100 Fix SUMIFS, COUNTIFS and AVERAGEIFS issue when there is a combination of one criteria with a logical operator (such as '">=1"') and another criteria with an array (such as '{ "a", "b", "c" }'). (Nov 12, 2021)
- 8.6.11.100 Fixed a problem which caused SpreadsheetGear to write an invalid Open XML document when writing a workbook with fractional numbers in conditional formats from a thread with a decimal separator other than '.'. (Nov 30, 2021)
- 8.6.11.100 Fixed an issue with COUNTIFS, SUMIFS and AVERAGEIFS which caused incorrect results when there are criteria with empty cells at the end of a column followed by more criteria columns which are not empty cells. (Nov 30, 2021)
- 8.7.10.100 Fixed an issue which caused an exception to be thrown when reading a shape object with a zero length text record with font runs from a .xls workbook. (Mar 21, 2022)
- 8.7.10.100 Fixed an issue which caused merged cells to sometimes be lost when inserting or deleting cells. (Mar 21, 2022)
- 8.7.11.100 Fixed an issue which caused an exception to be thrown when using CopyFromDataTable with no data rows. (Jun 9, 2022)
- 8.7.12.100 Fixed to no longer allow formulas such as "=ABS(2+)" to be considered valid formulas. (Jun 20, 2022)
- 8.7.13.100 Fixed priority order issue when copying conditional formats from one worksheet to another. (Jun 26, 2022)
- 8.7.13.100 Added support for the deprecated built in Excel styles "Emphasis 1", "Emphasis 2" and "Emphasis 3". (Jun 26, 2022)
- 8.7.14.100 Fixed an issue which caused copying of column widths to sometimes give incorrect results. (Jul 21, 2022)
- 8.7.15.100 Fixed a problem which caused Excel to be unable to read certain very large workbooks. (Jul 23, 2022)
- 8.8.6.100 Fixed an issue which occasionally caused some formula cells not to repaint when scrolling and modifying formulas at the same time. (Feb 9, 2023)
SpreadsheetGear 2012 for Silverlight (V7)
New Features
- WPF and Silverlight WorkbookView and FormulaBar controls.
-
New Excel 2010 compatible functions:
- AVERAGEIF
- AVERAGEIFS
- BETA.DIST
- BETA.INV
- BINOM.DIST
- BINOM.INV
- CEILING.PRECISE
- CELL
- CHISQ.DIST
- CHISQ.DIST.RT
- CHISQ.INV
- CHISQ.INV.RT
- CHISQ.TEST
- CONFIDENCE.NORM
- CONFIDENCE.T
- COUNTIFS
- COVARIANCE.P
- COVARIANCE.S
- ERF.PRECISE
- ERFC.PRECISE
- EXPON.DIST
- F.DIST
- F.DIST.RT
- F.INV
- F.INV.RT
- F.TEST
- FLOOR.PRECISE
- GAMMA.DIST
- GAMMA.INV
- GAMMALN.PRECISE
- HYPGEOM.DIST
- IFERROR
- LOGNORM.DIST
- LOGNORM.INV
- MODE.MULT
- MODE.SNGL
- NEGBINOM.DIST
- NETWORKDAYS.INTL
- NORM.DIST
- NORM.INV
- NORM.S.DIST
- NORM.S.INV
- PERCENTILE.EXC
- PERCENTILE.INC
- PERCENTRANK.EXC
- PERCENTRANK.INC
- POISSON.DIST
- QUARTILE.EXC
- QUARTILE.INC
- RANK.AVG
- RANK.EQ
- STDEV.P
- STDEV.S
- SUMIFS
- T.DIST
- T.DIST.2T
- T.DIST.RT
- T.INV
- T.INV.2T
- T.TEST
- VAR.P
- VAR.S
- WEIBULL.DIST
- WORKDAY.INTL
- Z.TEST
- Support for Windows 8, Windows Server 2012, Visual Studio 2012 and .NET 4.5.
- Improved memory efficiency and performance for most workbooks particularly in 64 bit applications.
- Rich text support in cells with the WPF and Silverlight WorkbookView controls.
- Custom row and column text as well as custom styling with XAML Control Templates in the WPF and Silverlight WorkbookView controls.
- Support for System.Char types in the IRange.Value setter as well as when importing data from a data table.
- 7.0.4.110 Added bitmap image rendering support to Silverlight with the SpreadsheetGear.Windows.Media.Image class. (Nov 12, 2012)
- 7.1.1.120 Windows 8.1 and Visual Studio 2013 support were added in SpreadsheetGear 2012 V7.1. (Nov 9, 2013)
- 7.2.1.102 Added support for reading and writing Open XML workbooks larger than two gigabytes. (May 13, 2015)
- 7.3.2.104 Windows 10, Visual Studio 2015 and .NET 4.6 support were added in SpreadsheetGear 2012 V7.3. (Aug 20, 2015)
Breaking Changes
- In order to support WPF and Silverlight, the core API has been separated from the GDI+ and Windows Forms APIs and therefore uses the new SpreadsheetGear.Color; type rather than SpreadsheetGear.Drawing.Color. SpreadsheetGear.Drawing.Color has been moved to SpreadsheetGear2012.Drawing.dll. See SpreadsheetGear.Drawing.Color for an example which uses the implicit and static converters to convert between SpreadsheetGear.Color, SpreadsheetGear.Drawing.Color and System.Drawing.Color. SpreadsheetGear.Colors and SpreadsheetGear.SystemColors provide helpful predefined colors to replace the use of predefined colors in System.Drawing.Color.
- The SpreadsheetGear command classes have been moved from the SpreadsheetGear.Windows.Forms namespace to SpreadsheetGear.Commands to enable sharing by the Windows Forms, WPF, and Silverlight WorkbookView controls.
- Moved the SpreadsheetGear.Drawing.Printing.PrintWhat enumeration to SpreadsheetGear.Printing.PrintWhat.
Issues Addressed
- Fixed a UI locking issue when auto filling and scrolling by dragging the mouse past the end of the WorkbookView.
- Fixed OFFSET function to support returning an array of ranges when used in an array formula.
- Fixed to use the default number format for Open XML number formats which cannot be read.
- Fixed to clear undo buffer when IWorkbook.SaveToMemory is called.
- Fixed IStyle.Equals to no longer cause a stack overflow exception.
- Fixed saving Open XML workbooks with external workbook references to no longer prepend "file:///" to paths which do not start with "X:\" where 'X' is a drive letter.
- Fixed the behavior of adjusting the first displayed sheet tab when a worksheet is selected or deleted.
- Fixed to support Locale.ArgumentSeparator when editing formulas in a WorkbookView control.
- Improved IRR to converge on a result in more cases.
- Fixed scrollbar thumb and value positions to account for hidden (non-viewable) rows/cols at beginning and end of worksheet.
- Changed WorkbookView.OnMouseMove to display a GetLock / ReleaseLock warning only when a debugger is attached.
- Fixed mouse wheel scrolling issue which occurred when using a high-resolution mouse.
- Fixed IRange.Merge to throw an exception if an attempt is made to merge a single cell.
- Fixed chart line markers to no longer render outside of plot area.
- Fixed autofill & data-series APIs to sometimes copy cell formatting (font, interior, etc...) as Excel does.
- Fixed some issues with plotting error and empty type values on area charts that use a date axis.
- Fixed refresh issues with the WorkbookView control when using the Dock / Undock smart tag item in Visual Studio.
- Fixed default TextBox horizontal alignment when reading Open XML document.
- Fixed cell merging to fix up cell borders and formats.
- Fixed reading of Open XML external references such as "/Dir/Book.xlsx" to convert to "C:\Dir\Book1.xlsx" as Excel does, and fixed writing external references such as "C:\Dir\Book1.xlsx" to be written as "/Dir/Book.xlsx".
- Fixed printing routine to only print visible sheets when printing entire workbook.
- Fixed to no longer include the active cell when using CTRL or SHIFT with MouseDown to point at a range when editing a formula.
- Fixed reading Open XML files to handle xmlns in cases where an exception was being thrown.
- Fixed copying and pasting of an entire row to be smarter about not creating a large number of blank formatted cells.
- Fixed HLOOKUP, VLOOKUP and MATCH to compare numbers as Excel does, no longer considering two numbers equal if they are very close as the "=" operator does.
- Fixed autofilter and data validation drop down controls to choose a more appropriate height to fix the problem where they are not displayed when the default row height is zero.
- Fixed to read and display shapes which hang past the edge of a worksheet.
- Fixed to remove incomplete conditional formats before writing workbooks to avoid writing workbooks which Excel will not read.
- Improved performance when reading Open XML workbooks with a large number of external targets (such as hyperlinks).
- Fixed AutoFill mouse handler to execute FillDown / FillRight when worksheet has autofilters on as Excel does.
- Fixed default print range to work more like Excel regarding blank formatted cells.
- Added Outlines option to LocationToRange / RangeToLocation APIs.
- Fixed undo and redo to handle frozen or split panes correctly.
- Fixed to no longer display two error message boxes when beginning a cell edit on a protected worksheet with the Backspace key.
- Fixed to no longer convert references such as $A5:$A$1048576 to #REF! when inserting rows above the cell containing the reference.
- Fixed picture shape to no longer display visible border upon creation and fixed issues with writing picture line format information in .xls files.
- Fixed UI to invalidate and refresh correctly after visible comments are moved when sorting a range.
- Fixed issues with automatic row height when wrap text flag is being used in a cell.
- Fixed WorkbookView navigation to skip rows and columns that have very small sizes and are not visible on screen.
- Fixed problem saving Excel 2003-generated WordArt objects which caused saved workbooks to fail in the Office File Validation tool.
- Fixed issues with comments not displaying in the correct location when visible across frozen panes.
- Fixed chart rendering issues with line charts, line markers, and various stock chart features.
- Fixed IPageSetup.PrintArea, PrintTitleRows and PrintTitleColumns to work correctly when IWorkbookSet.ReferenceStyle is set to ReferenceStyle.R1C1.
- Fixed FormulaBar name box so that it does not list defined names that do not refer to ranges.
- Fixed NullReferenceException which occurred when a WorkbookView tried to display a disposed worksheet.
- Fixed NullReferenceException which occurred when printing with a print title referring to #REF!
- Fixed NullReferenceException which occurred when user scrolls WorkbookView after ActiveWorkbook is closed.
- Fixed cases where auto sizing of row heights caused shape positions to be left in an undetermined state.
- Fixed to write workbooks with custom functions beginning with "_xll." as non-shared formulas as Excel does.
- Fixed an issue which caused an exception after setting certain ThemeColor properties to ColorSchemeIndex.None.
- Fixed cell comments and internal controls used for data validation and autofilters to display property when DisplayDrawingObjects is set to false.
- Fixed an issue which caused autofilter dropdowns to not be removed when frozen panes are removed.
- Fixed an issue which caused an exception to be thrown if sheet protection is turned off while editing a textbox form control.
- Fixed cases where textbox form controls were not rendering fills and lines.
- Fixed an issue which caused cell hyperlink information to be left on the screen when the mouse is moved over row or column headers.
- Fixed data validation dropdown listbox and listbox control to display formatted cell text instead of raw cell values.
- Fixed a calculation problem where references to worksheets which are not loaded into the workbook set caused null reference exceptions.
- Fixed pictures to use no line and no fill by default when reading Open XML files with no formatting information.
- Fixed a problem which caused null reference exceptions when evaluating certain conditional formats and data validation rules.
- Fixed issue loading workbook with Table references to Table columns with names like "1c" or "123" as in "=SUBTOTAL(109,[1c])".
- Fixed a problem which caused four builtin number formats to be incompatible with Excel: ("#,##0_);(#,##0)", "#,##0_);[Red](#,##0)", "#,##0.00_);(#,##0.00)" and "#,##0.00_);[Red](#,##0.00)").
- Fixed printing of a selected range including entire rows and / or columns to trim the size of the range to be printed to cells containing content.
- Fixed an issue which caused a NullRefException when clearing all data linked to a chart date axis.
- Fixed reading .CSV files to support reading 1048576 rows when there is a CRLF after the last row.
- Fixed scrolling to work better in certain cases where touch is used or where the scrollbar thumb is moved a single pixel.
- 7.0.4.110 Fixed a problem which caused invalid numbers to be placed in cells when setting IRange.Value to the System.Decimal value -0.0m (negative 0.0). (Nov 12, 2012)
- 7.0.4.110 Fixed a problem with row and column header text which occurred with some High Contrast Windows 8 themes. (Nov 12, 2012)
- 7.0.4.110 Fixed a problem in IRange.Copy which caused exceptions to be thrown in certain cases. (Nov 12, 2012)
- 7.0.4.110 Fixed problems with some Excel 2007 / 2010 compatible functions which caused #VALUE! to be returned when a single value was expected, but a vector of cells was passed in (such as A:A or 1:1). (Nov 12, 2012)
- 7.0.4.110 Fixed a problem with the SUMIF and COUNTIF functions which caused them to return an error when the specified criteria value was an error. (Nov 12, 2012)
- 7.0.4.110 Fixed a problem which caused an exception to be thrown when a cell containing an empty text string was formatted. (Nov 12, 2012)
- 7.0.4.114 Fixed F.DIST to no longer return #NUM! for some valid boundary conditions. (Nov 12, 2012)
- 7.0.4.118 Made a minor improvement to the way sheet tabs are rendered. (Nov 19, 2012)
- 7.0.4.124 Fixed problems writing workbooks which contained formulas with external references to cells containing text. (Nov 19, 2012)
- 7.0.4.126 Fixed printing problem which occurred when the last row or column being printed is hidden. (Nov 28, 2012)
- 7.0.4.126 Fixed parsing of cell values to require non-zero digits left of the thousands separator as Excel does for a value to be treated as a number, so "0,123" and "0,123,456" are treated as text rather than numbers. (Nov 28, 2012)
- 7.0.4.130 Fixed problems with editing and automatic sizing of rich text cells. (Nov 28, 2012)
- 7.0.5.118 Fixed PRICE, YIELD and ODD* functions to handle negative rates consistently even though Excel 2013 does not do so. (Dec 27, 2012)
- 7.0.5.118 Fixed a problem which occurred when copying text cells over the top of themselves. (Dec 27, 2012)
- 7.0.5.118 Fixed various issues which occurred when editing percent values with the in-cell editor and formula bar. (Dec 27, 2012)
- 7.0.5.118 Fixed an issue with the autofilter dropdown listbox position being set to an invalid value when rows are hidden or deleted. (Dec 27, 2012)
- 7.0.5.118 Fixed an issue which caused corruption of formula cells in certain cases where formula cells are copied or created. (Dec 27, 2012)
- 7.0.5.118 Fixed a calculation problem which could cause exceptions or invalid results after certain workbooks are calculated and then have their formula structure modified by inserting or deleting cells or by creating or modifying formulas. (Dec 27, 2012)
- 7.0.5.138 Fixed an issue in the Silverlight and WPF WorkbookView controls where background calculation was being continually interrupted by UI updating code causing calculation to make no progress for certain complex workbooks. (Aug 12, 2013)
- 7.0.5.142 Fixed various issues with the SpreadsheetGear Silverlight Samples. (Aug 12, 2013)
- 7.0.5.142 Fixed problems with the display of message boxes in WPF and Silverlight. (Aug 12, 2013)
- 7.0.5.142 Fixed exceptions when toggling Silverlight checkbox menu items. (Aug 12, 2013)
- 7.0.5.142 Fixed a problem with the display of "(Blanks)" in the autofilter dropdown list when there are blank cells in a column. (Aug 12, 2013)
- 7.0.5.142 Fixed a problem reading certain workbooks written by third party software which caused some blank formatted cells to be populated with a number. (Aug 12, 2013)
- 7.0.5.144 Fixed a Silverlight textbox editing scenario where Enter and other keys were not recognized. (Aug 12, 2013)
- 7.0.5.144 Fixed a calculation problem which caused an exception to be thrown for certain complex workbooks. (Aug 12, 2013)
- 7.0.5.146 Fixed entering an apparent fraction such as "1/0" to create a cell with the date "Jan 1, 2000" as Excel does instead of creating an invalid cell with the numeric value Double.PositiveInfinity which can lead to exceptions being thrown later. (Aug 12, 2013)
- 7.0.5.150 Improved IHyperlinks performance with a large number of hyperlinks. (Aug 12, 2013)
- 7.0.5.150 Fixed an issue in the WorkbookView where selected AutoFiltered items beginning with an operator (<, >, =) did not filter properly. (Aug 12, 2013)
- 7.0.5.150 Fixed a problem which caused incorrect results to be returned by IWorksheetWindowInfo.RowToPoints and PointsToRow when a large number of adjacent rows were set to a large row height. (Aug 12, 2013)
- 7.0.5.150 Fixed data validation drop down listboxes which refer to cells containing text to use the unformatted cell text rather than the formatted cell text as Excel does. (Aug 12, 2013)
- 7.0.5.150 Fixed an issue where cells with General horizontal alignment, a numeric value and formatted as text ("@") incorrectly align right instead of left when rendered. (Aug 12, 2013)
- 7.0.5.154 Fixed an issue which caused the in-cell editor to sometimes be the wrong size in WPF and Silverlight. (Aug 12, 2013)
- 7.0.5.154 Fixed an issue which caused workbook set CultureInfo settings to sometimes not pick up customizations of the default or current CultureInfo. (Aug 12, 2013)
- 7.0.5.154 Fixed a problem where using the OFFSET function in an array formula could throw an exception for cases where very large arrays must be returned. (Aug 12, 2013)
- 7.0.5.154 Fixed a problem where copying cells when the source and destination columns overlapped would incorrectly leave some cells blank. (Aug 12, 2013)
- 7.0.5.164 Fixed an issue which caused a null reference exception to be thrown if a subclass of CommandManager returned null from CreateCommandDelete or CreateCommandInsert. (Aug 12, 2013)
- 7.0.5.164 Fixed issues with the ShapeAction event not being fired consistently for cell comments and for cases where worksheet protection is modified. (Aug 12, 2013)
- 7.0.6.104 Fixed a problem which caused Excel to return #NAME! for cell formulas containing NETWORKDAYS.INTL, WORKDAY.INTL, COUNTIFS, IFERROR or SUMIFS after reading an Excel 97-2003 (.xls) workbook which was written by SpreadsheetGear. (Aug 12, 2013)
- 7.0.6.104 Fixed an issue which caused Excel to return #REF! after reading Excel 97-2003 (.xls) workbooks written by SpreadsheetGear for formulas which contained Union, Range or Intersection operators with arguments containing 3d references or functions such as INDIRECT. (Aug 12, 2013)
- 7.0.6.108 Added a work around to read certain workbooks written by 3rd party components. (Aug 12, 2013)
- 7.0.6.112 Fixed an exception in the WPF and Silverlight controls which occurred when editing a cell if an attached FormulaBar control is collapsed. (Aug 12, 2013)
- 7.0.6.112 Added a workaround for an issue with base / default column widths for Open XML workbooks written by certain 3rd party software. (Aug 12, 2013)
- 7.0.6.116 Fixed an issue where IGradientStops.InsertAt(...) did not insert new stop at the given index. (Aug 12, 2013)
- 7.0.6.116 Fixed an issue which caused cells containing numbers between -1 and 1 formatted with the "General" number format to display with an exponent of "E+01" instead of "E-01" when the width of a column is narrow enough to cause SpreadsheetGear to display the number as scientific notation. (Aug 12, 2013)
- 7.0.6.116 Fixed an issue which caused a division by zero exception to be thrown when rendering certain charts with a height or width of zero due to hidden rows or columns. (Aug 12, 2013)
- 7.0.6.116 Fixed to read saved supporing workbook data as Excel does when the 'refreshError' attribute of the CT_ExternalSheetData type is true in an Open XML workbook. (Aug 12, 2013)
- 7.0.6.120 Fixed a problem which caused exceptions to be thrown after using Find & Replace to modify formulas with a workbook set which is attached to a WorkbookView with Undo and Redo enabled. (Aug 12, 2013)
- 7.0.6.124 Fixed an issue in the GEOMEAN function which caused 0 to be returned rather than #NUM! for certain cases. (Aug 12, 2013)
- 7.0.6.136 Fixed an issue which caused certain workbooks using functions such as OFFSET and INDEX to throw exceptions when calculating. (Aug 12, 2013)
- 7.0.6.142 Fixed to support reading and writing IWorkbook.ReadOnlyRecommended to Open XML workbooks. (Nov 9, 2013)
- 7.0.6.142 Fixed WPF and Silverlight in-cell editor to paste multi-line text. (Nov 9, 2013)
- 7.0.6.144 Improved the calculation performance of certain workbooks which used functions such as INDEX, OFFSET, HLOOKUP and VLOOKUP with large ranges of cells. (Nov 9, 2013)
- 7.0.6.144 Fixed an issue which sometimes caused SUMIFS, AVERAGEIFS and COUNTIFS to throw an exception when evaluating ranges where some columns contain no valid criteria. (Nov 9, 2013)
- 7.0.6.148 Fixed problems which caused incorrect page numbers and total page counts to sometimes be printed in headers and footers. (Nov 9, 2013)
- 7.0.6.148 Fixed problems which caused PERCENTILE.EXC, QUARTILE.EXC and QUARTILE.INC to sometimes return incorrect results. (Nov 9, 2013)
- 7.0.6.148 Improved the performance of saving certain sparsely populated workbooks. (Nov 9, 2013)
- 7.0.6.148 Fixed an issue where an exception would be thrown when rendering a chart with special-case series attributes. Also made series auto color rendering more consistent with Excel for these special-case series. (Nov 9, 2013)
- 7.0.6.154 Fixed an issue which caused exceptions to be thrown after copying an entire worksheet which contained autofilters. (Nov 9, 2013)
- 7.0.6.154 Fixed an issue which caused an exception to be thrown when reading certain xls workbooks with extended characters in cell text. (Nov 9, 2013)
- 7.0.6.164 Fixed an issue which caused SUMIFS, COUNTIFS and AVERAGEIFS to sometimes run slowly and to sometimes incorrectly return #VALUE!. (Nov 9, 2013)
- 7.0.6.166 Fixed a problem which caused the WorkbookView control to fail to repaint cells after calling IRange.Copy where the source range is larger than the destination range and the source worksheet is different than the destination worksheet. (Nov 9, 2013)
- 7.0.6.166 Fixed an issue which sometimes made selecting text difficult in the in-cell editor of the WPF and Silverlight WorkbookView controls. (Nov 9, 2013)
- 7.0.6.166 Fixed textbox autoshape editing in WPF and Silverlight to allow scrolling vertically when the text is too tall for the textbox. (Nov 9, 2013)
- 7.0.6.167 Fixed an issue which caused certain formulas containing whitespace to return incorrect results. (Nov 9, 2013)
- 7.0.6.172 Fixed the FormulaBar to display the defined name for the top-left cell of a merged cell when the merged cell is the active cell. (Nov 9, 2013)
- 7.0.6.172 Fixed an issue where the AVERAGEIF function did not return the correct result. (Nov 9, 2013)
- 7.0.6.176 Fixed ISheet.CopyAfter, ISheet.CopyBefore, ISheet.MoveAfter and ISheet.MoveBefore to return an instance of IChartSheet when the source ISheet is an IChartSheet. (Nov 9, 2013)
- 7.1.1.104 Fixed an issue which caused charts with both positive and negative custom error bar amounts to be saved incorrectly to Open XML workbooks. (Nov 9, 2013)
- 7.1.1.126 Fixed a problem where calling IWorksheets.Add() while editing a cell caused the tab for the new worksheet to be displayed twice in the WorkbookView sheet tab bar. (Aug 7, 2014)
- 7.1.1.126 Fixed an issue which caused the IWorkbookSet.EndCalculate event to fail to be fired and also caused formula cells not to be repainted after some UI features (such as data validation dropdown lists) or APIs were used on workbooks with certain combinations of formulas (such as the INDIRECT function combined with circular references). (Aug 7, 2014)
- 7.1.1.130 Added a workaround to allow reading of an Open XML workbook with the page setup first page number set to a value > 2147483647. (Aug 7, 2014)
- 7.1.1.132 Fixed NullReferenceException for Excel 2013 workbooks that contain charts using a new series filter option. Filtered series will be dropped when read into SpreadsheetGear. (Aug 7, 2014)
- 7.1.1.132 Fixed to throw a more descriptive exception (System.IO.IOException(string.Format("Unable to read unsupported function {0}", funcNumber))) when reading workbooks containing unsupported functions (such as the deprecated Excel 4 macro EVALUATE function) instead of throwing a NullReferenceException. (Aug 7, 2014)
- 7.1.1.144 Fixed issue where print headers and footers did not always scale correctly. (Aug 7, 2014)
- 7.1.1.144 Fixed ISheet.CopyBefore and CopyAfter to properly copy the current selection if it contains multiple areas. (Aug 7, 2014)
- 7.1.1.150 Fixed issue which caused the RangeChanged event to be fired before cell references were fixed up when cutting and pasting cells. (Aug 7, 2014)
- 7.1.1.154 Fixed a problem which caused column formatting to be lost in certain cases where a row is formatted after the column, and the cell at the intersection of the row and column does not already have it's own format. (Aug 7, 2014)
- 7.1.1.154 Fixed an issue which caused exceptions or incorrect results when calculating if PrecisionAsDisplayed is enabled and certain changes had been made which affected cell formatting. (Aug 7, 2014)
- 7.1.1.154 Fixed reading Open XML files to handle xmlns attributes in shape fill elements. (Aug 7, 2014)
- 7.1.1.158 Fixed a problem which caused calculations to sometimes return incorrect results after setting IWorkbookSet.CalculationOnDemand to true. (Aug 7, 2014)
- 7.1.1.164 Fixed an issue which caused an exception if cell validation fails and the user chooses to Retry, but edit mode had been canceled for any reason (such as an API call which changes the currently active worksheet) before edit mode had been resumed. (Aug 7, 2014)
- 7.1.1.164 Fixed a problem which caused non-interruptible calculation to occur with certain workbooks after editing a formula. (Aug 7, 2014)
- 7.1.1.168 Fixed an issue which caused the WorkbookView control to hang or run very slowly when Enter or Tab are pressed for certain combinations of selected ranges and hidden rows and hidden columns. (Aug 7, 2014)
- 7.1.1.168 Fixed an issue which caused columns to sometimes be hidden or set to a very narrow width when attempting to set the column to a very large width. (Aug 7, 2014)
- 7.1.1.168 Fixed a problem which caused formulas to fail to parse when an Intersection, Range or Union operator is followed by a space and then a #REF! error (such as "=Sheet1!#REF!, Sheet1!#REF!"). (Aug 7, 2014)
- 7.1.1.168 Fixed an issue which caused the WPF and Silverlight WorkbookView controls to fail to render pie slices with a sweep of 360 degrees. (Aug 7, 2014)
- 7.1.1.172 Fixed an issue which caused Find and Replace to replace the first found instance twice in certain worksheets. (Aug 7, 2014)
- 7.1.1.176 Fixed an issue where Open XML workbooks containing formulas with OFFSET worksheet functions which contained #REF! errors but no valid cell references would not be opened because the formula could not be parsed. (Aug 7, 2014)
- 7.1.1.180 Fixed a problem which caused data validation to fail when a list of cells with certain types of number formats are used. (Aug 7, 2014)
- 7.1.1.186 Fixed an issue which caused XIRR to fail to converge in some cases where Excel does return a result because SpreadsheetGear was requiring a more accurate result. SpreadsheetGear still tries to find a more accurate result but falls back to less accuracy to return results in more cases. (Aug 7, 2014)
- 7.1.1.194 Fixed a problem with rendering of vertical text with space characters. (Aug 7, 2014)
- 7.1.1.194 Fixed the "filename" option of the CELL worksheet function to be more compatible with Excel. (Aug 7, 2014)
- 7.1.1.200 Fixed an issue which caused the loss of chart series line colors when reading an Open XML workbook written by Excel where the series had a custom line width but not a custom color. (Aug 7, 2014)
- 7.1.1.200 Fixed an issue which caused right-justified cells with trailing spaces to be rendered without the trailing spaces in some cases. (Aug 7, 2014)
- 7.1.1.200 Fixed some issues with the ACCRINT function. (Aug 7, 2014)
- 7.1.1.204 Fixed an issue related to variable calculation order due to use of the OFFSET function which caused certain workbooks not to be fully calculated when subsequent calculation was required after the initial calculation. (Aug 7, 2014)
- 7.1.1.208 Fixed an inconsistency with Excel in the LOOKUP worksheet function where #VALUE! was returned if the Results range was not large enough for the index of the matched value. (Aug 7, 2014)
- 7.1.1.212 Fixed the CELL worksheet function to return the workbook name and worksheet name with the "address" option when a different worksheet is specified in the second argument. (Aug 7, 2014)
- 7.1.2.104 Fixed an issue with SUMIFS and AVERAGEIFS which could cause unnecessary circular reference detection, leading to incorrect cell calculation order, in the case where cells in the sum / average range which do not meet the criteria would lead to circular references if they did meet the criteria. (May 13, 2015)
- 7.1.2.108 Fixed issue where copying a worksheet containing charts did not correctly copy axis BaseUnit setting. (May 13, 2015)
- 7.1.2.108 Fixed an issue with sorting which caused incorrect formats on re-ordered cells with certain combinations of individual cell formats interacting with formats applied to an entire row or entire column. (May 13, 2015)
- 7.1.2.112 Fixed an issue with data validation dropdown listboxes in WPF and Silverlight which caused the listbox to not have the focus if there is currently no selected item in the list. (May 13, 2015)
- 7.1.2.112 Fixed an issue which caused footers to be printed in the wrong location when printing with the Center Vertically option enabled. (May 13, 2015)
- 7.1.2.112 Fixed an issue which caused cells in column A to lose formatting previously applied to column A when an entire row is being formatted for the first time, the cell in column A of that row does not have a unique format, and the attribute being set matches the format previously applied to column A. (May 13, 2015)
- 7.1.2.112 Fixed issues when paging down or right on a WorkbookView with a custom DisplayReference and hidden rows or columns. (May 13, 2015)
- 7.1.2.116 Improved the performance of SUMIF for certain cases where the range being summed contains a large number of formula cells and those formula cells are not used by SUMIF because those rows do not meet the criteria. (May 13, 2015)
- 7.1.2.116 Fixed an issue where dropdown listbox form controls in the Silverlight WorkbookView control cause an exception when the list items are updated. (May 13, 2015)
- 7.1.2.122 Fixed the IFERROR function to pass through blank cells as blank rather than returning zero so that '=ISBLANK(IFERROR(A10,"ERROR"))' now returns TRUE if A10 is blank. (May 13, 2015)
- 7.1.2.122 Fixed deleting rows and columns to delete manual row and column page breaks as Excel does. (May 13, 2015)
- 7.1.2.124 Fixed an issue which caused rendering to fail when rendering cells with repeating characters in the number format. This only occurred in rare combinations of font sizes and column widths. (May 13, 2015)
- 7.1.2.124 Fixed an issue which caused formulas using the SUBTOTAL function to sometimes fail to automatically recalculate when the range being referenced by SUBTOTAL has row outlines and those outlines are collapsed or expanded. (May 13, 2015)
- 7.1.2.140 Fixed issues which caused SpreadsheetGear help to sometimes be missing or out of date after running the SpreadsheetGear 2012 installer without first uninstalling a previous version of SpreadsheetGear 2012. (May 13, 2015)
- 7.1.2.140 Fixed an issue which caused an exception to be thrown after pasting rich text cells with Paste Special or copying them with IRange.Copy when certain SpreadsheetGear.PasteType options are used. (May 13, 2015)
- 7.1.2.140 Optimized COUNTIFS, SUMIFS and AVERAGEIFS functions to be faster and more memory efficient, particularly when they reference entire columns of mostly blank cells. (May 13, 2015)
- 7.1.2.140 Fixed COUNTIFS and COUNTIF to work correctly when the result is greater than or equal to 2^32. (May 13, 2015)
- 7.1.2.140 Fixed cells with word wrap enabled and repeating characters in the number format to render like Excel. (May 13, 2015)
- 7.1.2.140 Fixed an issue which caused copying of merged cells to fail to copy correctly when the columns in the source range are being replicated in the destination range multiple times. (May 13, 2015)
- 7.1.2.140 Fixed an issue which caused an exception to be thrown when reading some workbooks written by Google Docs Spreadsheet. (May 13, 2015)
- 7.1.2.140 Fixed an issue with all WorkbookView controls which caused calculation to be done on the UI thread when a chart is displayed for the first time, even though background calculation is enabled. (May 13, 2015)
- 7.1.2.156 Fixed printing hairline cell borders to print correctly when the Black and White printing option is used. (Dec 6, 2014)
- 7.1.2.156 Fixed ISheet.Select() and the IWorkbookWindowInfo.ActiveSheet and ActiveWorksheet property setters to throw an InvalidOperationException if the specified sheet is hidden. (Dec 6, 2014)
- 7.1.2.156 Fixed sorting to leave cell borders unchanged as Excel does. (Dec 6, 2014)
- 7.1.2.156 Fixed an issue which caused the copying of cell formats to too many rows if the source range had more than one row and the number of rows in the destination range was not an exact multiple of the number of source rows. (Dec 6, 2014)
- 7.1.2.156 Fixed an issue which caused Undo to sometimes incorrectly clear values from some cells after commands are performed on ranges with multiple areas. (Dec 6, 2014)
- 7.1.2.158 Fixed partially displayed merged cells to paint when the top left cell of the merged cell is modified but not displayed. (May 13, 2015)
- 7.1.2.158 Fixed an issue which caused some corrupt workbooks to go into an endless loop. (May 13, 2015)
- 7.1.2.162 Fixed an issue which caused Undo / Redo to fail to work correctly after selecting an item from a data validation listbox if the last cell with a data validation listbox was different from the cell where the Redo is being performed. (May 13, 2015)
- 7.1.2.166 Added SpreadsheetGear.Windows.Printing.WorkbookPrintDocument.Print() method to enable printing without a WorkbookView control. (May 13, 2015)
- 7.2.1.102 Fixed an issue which caused the various *Defined properties associated with an IRange (such as IRange.Fill.ColorDefined) to incorrectly return true in certain cases when the specified range extends beyond the last column with any non-empty cells. (May 13, 2015)
- 7.2.1.102 Fixed to read Open XML files with no size information in the Zip local file header and with no Data Descriptor record following the compressed data. (May 13, 2015)
- 7.2.1.102 Added support for reading and writing Open XML workbooks larger than two gigabytes. (May 13, 2015)
- 7.2.2.104 Improved the RATE function to find an answer for more cases. (Feb 12, 2015)
- 7.2.2.104 Fixed an issue with the Silverlight WorkbookView control which caused dropdown combo boxes to close when the mouse is released if there is limited window space available for the dropdown. (Feb 12, 2015)
- 7.2.2.104 Fixed XIRR to ignore cases where the value is empty or zero and the date is empty as Excel does. (Feb 12, 2015)
- 7.2.3.104 Fixed Silverlight WorkbookView focus issues which occurred after closing combobox, data validation, and auto filter type drop downs. (Feb 26, 2015)
- 7.2.3.104 Improved IRange.GoalSeek to find an answer for more cases. (Feb 26, 2015)
- 7.2.4.102 Fixed problems creating or opening workbooks with the Silverlight WorkbookView with certain Macintosh culture settings which use a different character for the negative sign. (Feb 27, 2015)
- 7.2.4.102 Fixed painting problems in the Silverlight WorkbookView when converting unsupported pattern fills to solid fills. (Feb 27, 2015)
- 7.2.4.102 Fixed an issue which caused Factory.GetWorkbookSet() to throw an exception when DateTimeFormatInfo.DateSeparator or TimeSeparator is an empty string. (Feb 27, 2015)
- 7.2.5.202 Fixed adding of shapes at given top + height positions to verify that rows are autofitted if needed before the shape is actually added so that IShape.Top and IShape.Height do not change once rows are eventually autofitted. (May 13, 2015)
- 7.2.5.202 Fixed a problem which occurred when copying formulas with area references containing mixed relative / absolute references where row 1 and row 2 or column 1 and column 2 were swapped but the relative / absolute flag for the references was not swapped. (May 13, 2015)
- 7.2.6.108 Fixed IWorkbookSet.Dispose() to stop background calculation if needed before disposing of the workbook set. (Mar 21, 2015)
- 7.2.6.108 Fixed an issue which caused incorrect formula results for certain large workbooks with a complex calculation order. (Mar 21, 2015)
- 7.2.6.108 Added a workaround to read Excel 2003 (.xls) workbooks written by Microsoft SQL Server Reporting Services (SSRS) with invalid MSO drawing record lengths for JPEG and PNG images which have a size greater then 64K. (Mar 21, 2015)
- 7.2.6.108 Fixed autofilter issues with zero length text, leading whitespace and trailing whitespace. (Mar 21, 2015)
- 7.2.6.108 Fixed an issue which caused numbers formatted as text and text cells which yielded the same text to be duplicated in the autofilter dropdown values list. (Mar 21, 2015)
- 7.2.6.108 Fixed an issue which caused entering a formatted value such as '1.0e5' into a cell which is formatted with a format such as '[>100000]" ";0.000' (where the first number format section has a criteria but no actual number formatting) to incorrectly reformat the cell with the format of the entered value. (Mar 21, 2015)
- 7.2.7.100 Fixed an issue which caused the SUM function to return #REF! for a multisheet reference to a single cell (such as StartSheet:EndSheet!A1) in some cases, especially when used in array formulas. (May 13, 2015)
- 7.2.9.102 Fixed an issue which caused empty columns to be removed from autofilter ranges. (May 10, 2015)
- 7.2.9.102 Improved the performance and capacity of workbooks with large amounts of text in unique text cells. (May 10, 2015)
- 7.2.9.102 Fixed printing a worksheet with the print area set to entire rows and or entire columns to trim the actual printed range to the used range of the worksheet. (May 10, 2015)
- 7.2.11.100 Fixed an issue which caused inserting or deleting cells to incorrectly fix up conditional format formulas in certain cases where there are multiple condition formulas and certain relative references in some of the condition formulas. (Aug 20, 2015)
- 7.2.11.100 Fixed an issue which caused COUNTBLANK to return an incorrect value if the first column of the specified range is beyond column A and is also beyond the first column of the worksheet containing non-blank cells. (Aug 20, 2015)
- 7.2.13.100 Added a work around for an issue which caused Excel to be unable to open a workbook with a worksheet name such as "D5.1" and a formula such as ''=SUM(D5.1!A1:D5.1!B2)". (Aug 20, 2015)
- 7.2.14.100 Fixed issue with automatic row heights involving hidden columns within a merged area with WrapText enabled or with CenterAcrossSelection alignment. (Aug 20, 2015)
- 7.2.15.100 Fixed an issue which caused SpreadsheetGear to write cell formulas which Excel could not read when worksheets names started with characters which looked like an R1C1 style row or column reference (such as "R1xxx" or "C2xxx"). (Aug 20, 2015)
- 7.2.16.100 Fixed an issue which caused some unicode whitespace characters to be lost when reading text from an Open XML workbook. (Aug 20, 2015)
- 7.3.3.100 Fixed Find and Replace to no longer update the underlying cell multiple times when doing multiple replacements in a single cell to fix cases such as replacing all occurrences of "#" with "=" in a cell which starts out as "#B1#B2". This fix also speeds up Find and Replace for multiple replacements in single cells. (Mar 16, 2016)
- 7.3.4.100 Fixed an issue which caused IRange.Copy to copy over locked cells in certain cases where the source range and destination range do not have the same number of rows and columns. (Mar 16, 2016)
- 7.3.5.100 Fixed IRange.RowHeight to limit the new height to 0 <= height <= 409 as Excel does. Also fixed IRange.AutoFit() to limit row heights to a maximum of 409. (Mar 16, 2016)
- 7.3.6.100 Fixed an issue with the COUNTIFS function for certain cases involving blank criteria columns. (Mar 16, 2016)
- 7.3.6.100 Fixed an issue which caused SpreadsheetGear to return different results than Excel for certain cases where PRODUCT is used on ranges with blank cells. (Mar 16, 2016)
- 7.3.6.100 Fixed an issue in the CELL function when using the "address" option to better match Excel when workbook names have spaces in them. (Mar 16, 2016)
- 7.3.7.100 Fixed the INDEX function to return #REF! if row > 1 or column > 1 in cases where the reference argument is a single cell reference, as Excel does. (Mar 16, 2016)
- 7.3.8.100 Fixed a problem which caused some large and complex workbooks to calculate incorrectly or to throw an exception during calculation. (Mar 16, 2016)
- 7.4.1.100 Added a "NoSharedFormulas" option to IWorkbookSet.Experimental which forces SpreadsheetGear to write workbooks with no shared formulas. (Mar 16, 2016)
- 7.4.1.100 Fixed to throw an exception when setting IFont.Name to "" and to convert font names of "" to IWorkbookSet.DefaultFontName when opening workbooks because Excel has problems opening workbooks which contain font names set to an empty string. (Mar 16, 2016)
- 7.4.3.100 Changed the WorkbookView warning tooltip which is displayed if GetLock is called without a corresponding ReleaseLock to only be displayed if their is a debugger attached. (Mar 16, 2016)
- 7.4.4.100 Fixed an issue which caused background calculation to fail to calculate in some cases. (Mar 16, 2016)
- 7.4.6.100 Fixed a problem which caused goal seek to hang in certain cases where it was not able to converge. (Oct 2, 2016)
- 7.4.7.100 Fixed certain cases of copying formulas which reference sheet specific defined names to better match Excel's behavior. (Oct 2, 2016)
- 7.4.8.100 Added a work around to ignore unsupported worksheet protection passwords which use newer Excel 2013 and Excel 2016 algorithms so that workbooks can be opened. (Oct 2, 2016)
- 7.4.9.100 Fixed an issue which caused an invalid workbook to be created when overwriting a multi-cell array formula with a non formula value using the IRange.FormulaArray property or when using CTRL+SHIFT+Enter to enter the value. (Oct 2, 2016)
- 7.4.9.100 Fixed problem where CTRL+Enter or CTRL+SHIFT+Enter would not repaint entire range when entering constants into rows with no formulas. (Oct 2, 2016)
- 7.4.10.100 Updated all tools used to build SpreadsheetGear to the latest versions to fix an issue which caused installing on Windows 10 to fail in some cases. (Oct 2, 2016)
- 7.4.11.100 Improved the MROUND function to better match Excel for values which are just under the half-way point beyond the 15th least significant decimal digit. (Oct 2, 2016)
- 7.4.11.100 Added a workaround to read Open XML workbooks which have references to missing cell style format records. (Oct 2, 2016)
- 7.4.11.100 Fixed a problem which caused the BIN2HEX function to throw an exception during calculation if the 'number' argument was an empty string. (Oct 2, 2016)
- 7.4.11.100 Fixed an issue which caused the CELL function to return the incorrect value for the 'filename' option in some cases. (Oct 2, 2016)
- 7.4.12.100 Fixed IShape.Name to return an automatically generated name such as "Button 1" or "Rectangle 2" when the shape has a shape property but it is a zero length string. (Oct 2, 2016)
- 7.4.13.100 Fixed an issue which caused an exception to be thrown when reading workbooks written by Excel Mobile. (Oct 2, 2016)
- 7.4.14.100 Fixed to keep quotes in non-quoted cells when reading CSV and TXT files as Excel does. (Oct 2, 2016)
- 7.4.16.100 Fixed the intersection, union and range operators to handle arguments with array formulas. (Oct 2, 2016)
- 7.4.17.100 Fixed an issue which caused the INDIRECT function to return incorrect results in certain cases when it is used in an aggregate function (such as SUM) and the arguments to INDIRECT return a single valued array result (such as ROW($E$5) or COLUMN($E$5))). (Oct 2, 2016)
- 7.4.18.100 Fixed cases where the XIRR and XNPV functions were not evaluating the values and dates passed to them as arrays even though they were used in an array formula cells. (Oct 10, 2016)
- 7.4.18.100 Fixed XIRR to handle out of order dates. (Oct 10, 2016)
- 7.4.18.100 Fixed some problems with text comparisons when the text contains certain characters such as an apostrophe. (Oct 10, 2016)
- 7.4.19.100 Fixed the INDIRECT function to allow trailing spaces after defined names as Excel does. (Oct 14, 2016)
- 7.4.20.100 Fixed a problem which caused some complex formulas which use array formula iteration on multiple nested levels to return incorrect results. (Nov 15, 2016)
- 7.4.20.100 Fixed a problem which caused an exception to be thrown when formatting a number > 1.7976931348623157E+306 as a percentage. (Nov 15, 2016)
- 7.4.21.100 Fixed to allow custom function names UNION, RANGE and ISECT as Excel does. (Dec 1, 2016)
- 7.4.21.100 Fixed an issue which caused the IRange[string name] indexer to sometimes fail to find a workbook scoped defined name after deleting a worksheet scoped defined name if the worksheet scoped name is the same as the workbook scoped name. (Dec 1, 2016)
- 7.4.21.100 Improved performance for workbooks which contain a large number of formula cells with text results. (Dec 1, 2016)
- 7.4.22.100 Fixed an issue which causes calculation to be incomplete in some cases if a workbook set has not been fully calculated since the last formula change and cell values are accessed from cell formulas which are dependant on circular references in other worksheets or other workbooks. (Dec 1, 2016)
- 7.4.23.100 Fixed border rendering to prioritize conditional format borders over cell borders even when the cell border is a heavier (wider or darker) border as Excel does. (Jan 24, 2017)
- 7.4.24.100 Fixed a problem which caused IFERROR to return incorrect results for some very complex workbooks. (Jan 24, 2017)
- 7.4.24.100 Fixed a problem with SUMIF and COUNTIF which caused certain workbooks to not be fully calculated if the third argument to SUMIF or COUNTIF is a smaller area than the first argument. (Jan 24, 2017)
- 7.4.25.100 Fixed problems with BETA.DIST and BETA.INV which occurred when the alpha and / or beta arguments are equal to 1.0. (Jan 24, 2017)
- 7.4.26.100 Fix the WEEKNUM function to handle return types other than 1 and 2. (Feb 1, 2017)
- 7.4.26.100 Fixed issue with "A/P" NumberFormat code incorrectly flipping "A" and "P". (Feb 1, 2017)
- 7.4.26.100 Fixed an issue with LOOKUP, HLOOKUP, VLOOKUP and MATCH which caused them to incorrectly detect circular references in certain cases when doing a columnar linear search and the matching cell is located before a cell which would cause a circular reference. (Feb 1, 2017)
- 7.4.27.100 Fixed a regression introduced in hotfix V7.4.24.102 which caused IFERROR to return errors in some cases when used in array formulas. (Feb 7, 2017)
- 7.4.28.100 Fixed a problem which caused conditional formats in certain workbooks to be read with incorrect relative references. (Mar 15, 2017)
- 7.4.28.100 Added workaround to read open xml workbooks with a password to protect the workbook structure by ignoring the password hash instead of throwing an exception. (Mar 15, 2017)
- 7.4.28.100 Fixed an exception which occurred when selecting a range from the FormulaBar address box or the API when the selection is entire rows or columns and the top-left cell of the selected range is a merged cell not fully contained by the newly selected rows / columns. (Mar 15, 2017)
- 7.4.29.100 Fixed an issue with series line markers displaying in Excel even though the style is set to None in Excel 2003 (xls) workbooks. (Mar 21, 2017)
- 7.4.31.100 Added workaround to read Open XML workbooks with non-empty XML elements where empty elements are specified by the documentation. (May 16, 2017)
- 7.4.32.100 Fixed an issue which caused entering text such as "1-3a" to incorrectly format a cell as a date ("d-mmm" in US English). (Jun 4, 2017)