Issues resolved in SpreadsheetGear 2008 include:
- 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 not repaint correctly 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.
- 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 (4.0.6.104).
- Fixed the WorkbookView control to work with the AltGr key (4.0.6.104).
- 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 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 (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 (4.0.7.103).
- Fixed a problem painting shapes which are very narrow, very short, or which use a thick line style (4.0.7.103).
- Fixed a problem which caused cell comments to display improperly in some cases (4.0.8.104).
- Fixed problems with data label positioning relative to axes on bar charts (4.0.9.102).
- Fixed bar chart data label manual layout offsets to work correctly with reversed axes (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 (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 (4.0.9.102).
- Fixed chart category axes to wrap on hyphen characters similar to Excel (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)" (4.0.9.102).
- Fixed INDIRECT function to handle references such as "A1!A1" where there is a worksheet named "A1" (4.0.9.102).
- Fixed problems with solid fills which are set to the Text1 theme color (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 (4.0.10.102).
- Added a work around to handle certain invalid xls workbooks with Cell Comments which have duplicate shape IDs (4.0.10.102).
- Fixed OFFSET worksheet function to work with negative heights and negative widths as Excel does (4.0.10.102).
- Added a work around to read certain workbooks which have references to invalid external workbooks (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 (4.0.10.102).
- 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 (4.0.10.106).
- Fixed a bug which caused single accounting underlines to be saved incorrectly to xls workbooks (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 (4.0.10.106).
- Fixed the entry of text starting with "+" or "-" to no longer prepend "=" if the cell is formatted as text (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) (4.0.10.110).
- Fixed SUMIF, COUNTIF, DSUM and the other database functions to handle cases where criteria cells contain numbers entered as text (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 (4.0.10.110).
- Added a work around to read xlsx workbooks with seemingly invalid "bubble3d" charting elements which are sometimes written by Excel 2007 (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 (4.0.10.114).
- Fixed a problem which caused rendering of some charts to throw System.OverflowException (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 (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 (4.0.10.116).
- 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 (4.0.10.120).
- 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 (4.0.10.124).
- 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 (4.0.12.100).
- Fixed problems reading and writing xlsx workbooks with groups / outlines (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 "." (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 (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 (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 (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 (4.0.12.100).
- 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 (4.0.12.104).
- Fixed a problem with data validation list boxes not being displayed when they are used in the last column displayed when the displayed range is limited by the WorkbookView.DisplayReference property (4.0.12.108).
- Fixed issue where line drawn from comment to cell anchor was not being painted correctly in some cases (4.0.12.108).
- Added a work around for some xls workbooks written by 3rd party components which contain invalid number formats (4.0.12.108).
- Added a work around to read and fixup invalid supporting workbook records in some workbooks written by 3rd party components, as Excel does (4.0.12.110).
- Fixed a problem with the VLOOKUP, LOOKUP and MATCH functions where #N/A was sometimes returned incorrectly when the value being looked up was zero and the lookup range contained blank cells (4.0.12.112).
- Added support for reading Open XML workbooks written by certain 3rd party components (4.0.12.114).