Visit Our Facebook Page
Visit Our Google Plus Page
Visit Our Twitter Page
What's New
ASP.NET, Windows Forms and Silverlight SpreadsheetGear Samples
Purchase SpreadsheetGear
Download SpreadsheetGear

What's New


SpreadsheetGear Keyword Finder

   

SpreadsheetGear 2012

SpreadsheetGear 2012 adds some of the most frequently requested features including WPF and Silverlight controls, multithreaded recalc, 64 new functions, Windows 8.1 support, Windows Server 2012 R2 support, Visual Studio 2013 support, improved memory efficiency and performance particularly in 64 bit applications, custom row and column header text and styling for XAML controls, save to XPS and more.

Jump directly to the latest New Features and Issues Addressed for the most recent General Availability Release.

Excel Automation Samples  Download SpreadsheetGear 2012

Latest HotfixLatest Hotfix Issues Addressed

Our latest hotfix (7.1.2.114) was released on Sep 23, 2014 and is a rollup of issues addressed since the last General Availability Release. Active subscribers of SpreadsheetGear can download this hotfix from the Licensed Users Downloads page.

  • 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 (7.1.2.104).
  • Fixed issue where copying a worksheet containing charts did not correctly copy axis BaseUnit setting (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 (7.1.2.108).
  • 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 (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 (7.1.2.112) when it is dropped down.
  • Fixed an issue which caused footers to be printed in the wrong location when printing with the Center Vertically option enabled (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 (7.1.2.112).
  • Fixed issues when paging down or right on a WorkbookView with a custom DisplayReference and hidden rows or columns (7.1.2.112).

New FeaturesNew Features

  • WPF and Silverlight WorkbookView and FormulaBar controls.
  • Support for 64 new Excel 2010 compatible functions (see list below).
  • Support for Windows 8.1, Windows 8, Windows Server 2012 R2, Windows Server 2012, Visual Studio 2013, 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.
  • Added bitmap image rendering support to Silverlight with the SpreadsheetGear.Windows.Media.Image class (7.0.4.110).
  • 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

Issues AddressedIssues 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.
  • 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) (7.0.4.110).
  • Added an Aero2 theme to the WPF WorkbookView control for improved Windows 8 support (7.0.4.110).
  • Changed WPF WorkbookView mouse handling code to mark MouseUp events as handled only when an action is taken (7.0.4.110).
  • Fixed a problem with row and column header text which occurred with some High Contrast Windows 8 themes (7.0.4.110).
  • Fixed a problem in IRange.Copy which caused exceptions to be thrown in certain cases (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) (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 (7.0.4.110).
  • Fixed a problem which caused an exception to be thrown when a cell containing an empty text string was formatted (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 (7.0.4.110).
  • Fixed F.DIST to no longer return #NUM! for some valid boundary conditions (7.0.4.114).
  • Made a minor improvement to the way sheet tabs are rendered (7.0.4.118).
  • Fixed problems writing workbooks which contained formulas with external references to cells containing text (7.0.4.124).
  • Fixed a Windows Forms WorkbookView painting problem which occurred when scrolling with fixed panes (7.0.4.126).
  • Fixed printing problem which occurred when the last row or column being printed is hidden (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 (7.0.4.126).
  • Fixed problems with editing and automatic sizing of rich text cells (7.0.4.130).
  • Fixed PRICE, YIELD and ODD* functions to handle negative rates consistently even though Excel 2013 does not do so (7.0.5.118).
  • Fixed a problem which occurred when copying text cells over the top of themselves (7.0.5.118).
  • Fixed various issues which occurred when editing percent values with the in-cell editor and formula bar (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 (7.0.5.118).
  • Fixed an issue which caused corruption of formula cells in certain cases where formula cells are copied or created (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 (7.0.5.118).
  • 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 (7.0.5.138).
  • Fixed various issues with the SpreadsheetGear Silverlight Samples (7.0.5.142).
  • Fixed problems with the display of message boxes in WPF and Silverlight (7.0.5.142).
  • Fixed exceptions when toggling Silverlight checkbox menu items (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 (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 (7.0.5.142).
  • Fixed a Silverlight textbox editing scenario where Enter and other keys were not recognized (7.0.5.144).
  • Fixed a calculation problem which caused an exception to be thrown for certain complex workbooks (7.0.5.144).
  • 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 (7.0.5.146).
  • Improved IHyperlinks performance with a large number of hyperlinks (7.0.5.150).
  • Fixed an issue in the WorkbookView where selected AutoFiltered items beginning with an operator (<, >, =) did not filter properly (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 (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 (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 (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 (7.0.5.150).
  • Fixed an issue which caused the in-cell editor to sometimes be the wrong size in WPF and Silverlight (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 (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 (7.0.5.154).
  • Fixed a problem where copying cells when the source and destination columns overlapped would incorrectly leave some cells blank (7.0.5.154).
  • Fixed an issue which caused a null reference exception to be thrown if a subclass of CommandManager returned null from CreateCommandDelete or CreateCommandInsert (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 (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 (7.0.5.164).
  • 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 (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 (7.0.6.104).
  • Added a work around to read certain workbooks written by 3rd party components (7.0.6.108).
  • Fixed an exception in the WPF and Silverlight controls which occurred when editing a cell if an attached FormulaBar control is collapsed (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 (7.0.6.112).
  • Fixed an issue where IGradientStops.InsertAt(...) did not insert new stop at the given index (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 (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 (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 (7.0.6.116).
  • 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 (7.0.6.120).
  • Fixed an issue in the GEOMEAN function which caused 0 to be returned rather than #NUM! for certain cases (7.0.6.124).
  • Fixed an issue which caused certain workbooks using functions such as OFFSET and INDEX to throw exceptions when calculating (7.0.6.136).
  • Fixed to support reading and writing IWorkbook.ReadOnlyRecommended to Open XML workbooks (7.0.6.142).
  • Fixed WPF and Silverlight in-cell editor to paste multi-line text (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 (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 (7.0.6.144).
  • Fixed problems which caused incorrect page numbers and total page counts to sometimes be printed in headers and footers(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 (7.0.6.148).
  • Fixed problems which caused PERCENTILE.EXC, QUARTILE.EXC and QUARTILE.INC to sometimes return incorrect results (7.0.6.148).
  • Improved the performance of saving certain sparsely populated workbooks (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 (7.0.6.148).
  • Fixed an issue which caused exceptions to be thrown after copying an entire worksheet which contained autofilters (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 (7.0.6.154).
  • Fixed an issue which caused SUMIFS, COUNTIFS and AVERAGEIFS to sometimes run slowly and to sometimes incorrectly return #VALUE! (7.0.6.164).
  • Fixed an issue which caused certain formulas containing whitespace to return incorrect results (7.0.6.164).
  • 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 (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 (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 (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 (7.0.6.166).
  • 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 (7.0.6.172).
  • Fixed an issue where the AVERAGEIF function did not return the correct result (7.0.6.172).
  • Fixed ISheet.CopyAfter, ISheet.CopyBefore, ISheet.MoveAfter and ISheet.MoveBefore to return an instance of IChartSheet when the source ISheet is an IChartSheet (7.0.6.176).
  • Fixed an issue which caused charts with both positive and negative custom error bar amounts to be saved incorrectly to Open XML workbooks (7.1.1.104).
  • Fixed the Print... dialog box to be modal when using the WPF WorkbookView control from a Windows Forms application (7.1.1.122).
  • 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 (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) (7.1.1.126).
  • Added a workaround to allow reading of an Open XML workbook with the page setup first page number set to a value > 2147483647 (7.1.1.130).
  • Fixed NullReferenceException for Excel 2013 workbooks that contain charts using a new series filter option. Filtered series will be dropped when read into SpreadsheetGear (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 (7.1.1.132).
  • Fixed issue where print headers and footers did not always scale correctly (7.1.1.144).
  • Fixed ISheet.CopyBefore and CopyAfter to properly copy the current selection if it contains multiple areas (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() (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 (7.1.1.144).
  • Fixed issue which caused the RangeChanged event to be fired before cell references were fixed up when cutting and pasting cells (7.1.1.150).
  • 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 (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 (7.1.1.154).
  • Fixed reading Open XML files to handle xmlns attributes in shape fill elements (7.1.1.154).
  • Fixed a problem which caused calculations to sometimes return incorrect results after setting IWorkbookSet.CalculationOnDemand to true (7.1.1.158).
  • 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 (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 (7.1.1.164).
  • Fixed a problem which caused non-interruptible calculation to occur with certain workbooks after editing a formula (7.1.1.164).
  • 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 (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 (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!") (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 (7.1.1.168).
  • Fixed AutoFilter context menu position for the WPF WorkbookView control (7.1.1.172).
  • Fixed an issue with rotated gradient fills in charts for the WPF WorkbookView control (7.1.1.172).
  • Fixed an issue which caused Find and Replace to replace the first found instance twice in certain worksheets (7.1.1.172).
  • 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 (7.1.1.176).
  • Fixed a problem which caused data validation to fail when a list of cells with certain types of number formats are used (7.1.1.180).
  • 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 (7.1.1.186).
  • Fixed an issue which caused the WPF WorkbookView control to incorrectly render a trailing parenthesis for certain combinations of number formats and font styles (7.1.1.194).
  • Fixed a problem with rendering of vertical text with space characters (7.1.1.194).
  • Fixed the "filename" option of the CELL worksheet function to be more compatible with Excel (7.1.1.194).
  • 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 (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 (7.1.1.200).
  • Fixed some issues with the ACCRINT function (7.1.1.200).
  • 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 (7.1.1.204).
  • 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 (7.1.1.208).
  • 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 (7.1.1.212).
 
 

SpreadsheetGear 2010

June 15th, 2010 - SpreadsheetGear 2010 adds a number of the most frequently requested features including autofilters and the associated SUBTOTAL function, password protected workbooks, macro-enabled Open XML (.xlsm) support, Excel 2010 support, Visual Studio 2010 and .NET 4.0 support, grouped shape rendering, and a number of charting features which include radar charts, log scales, error bars, trendlines, series line smoothing, minor ticks and gridlines, dashed line styles and date scales.

New FeaturesNew Features

  • AutoFilter Support Including:
    • Top or bottom n items.
    • Top or bottom n percent.
    • Above or below average.
    • Last day, month, quarter, week or year.
    • This day, month, quarter, week or year.
    • Next day, month, quarter, week or year.
    • Specific day, month, year, hour, minute or second.
    • Year to date.
    • Filter by font color or interior color.
    • Custom criteria such as ">50".
    • Filter by specific list of values.
    • Support for the SUBTOTAL function which works in conjunction with autofilters to return various statistics for filtered items including average, count, max, min, product, standard deviation, sum and variance.
    • Autofilter support in many commands including cell formatting, copy & paste, fill, delete and more.
  • Charting Features:
    • Radar charts.
    • Logarithmic scales.
    • Date scales.
    • Error bars, including error amounts as fixed values, percentage, standard deviation, standard error, and custom formulas.
    • Trendlines, including linear, logarithmic, exponential, power, polynomial, and moving average.
    • Series line smoothing based on the Catmull-Rom spline.
    • Minor tick and gridline rendering.
    • Dashed line style rendering and APIs.
    • 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-2010 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 AddressedIssues 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.
  • 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 (6.0.3.106).
  • 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 (6.0.3.114).
  • Improved XIRR to converge on an answer for wider ranges of inputs (6.0.3.114).
  • Fixed a problem which caused autofitting rows to sometimes ignore some cells if there are unformatted cells above them (6.0.3.114).
  • 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 (6.0.3.118).
  • Fixed autofit rows to work with cells which use wrapped text and HAlign.CenterAcrossSelection (6.0.3.118).
  • 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 '*') (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 (6.0.3.128).
  • 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 (6.0.3.134).
  • Fixed autofilters which contain a list of values to ignore case as Excel does (6.0.3.134).
  • Fixed autofilter button status to repaint correctly when autofilters are modified using the API (6.0.3.134).
  • Added a workaround for shapes in xls workbooks which contain an invalid image fill property (6.0.3.134).
  • Fixed a divide by zero exception which occurred when using IRange.Copy where the source range consists entirely of rows hidden by an autofilter (6.0.3.136).
  • Fixed an issue with form controls which remained visible when the rows containing them were hidden (6.0.3.138).
  • Fixed a problem with writing Excel 97-2003 (.xls) workbooks which caused Excel 2007 and Excel 2010 to sometimes use an incorrect cell format (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 (6.0.3.140).
  • 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 (6.0.3.142).
  • 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 (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 (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 (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 (6.0.3.144).
  • Improved number formatting rounding to be more compatible with Excel (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 (6.0.3.154).
  • Fixed a problem which could occur when copying cells within a column after inserting or deleting rows within that column (6.0.3.156).
  • 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) (6.0.3.160).
  • Reduced memory usage for some single cell array formulas (6.0.3.160).
  • Fixed to throw an exception rather than hanging when trying to read certain workbooks which contain corrupt compound document indexes (6.0.3.162).
  • Fixed a performance problem which caused wildcard searches with '*' to run very slowly as the number of sequential '*' characters increased (6.0.3.162).
  • 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 (6.0.3.168).
  • Fixed a problem with IRange.GoalSeek which caused some solvable cases to fail to converge (6.0.3.168).
  • 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 (6.0.3.170).
  • Improved goal seeking to converge in more cases (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) (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 (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 (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 (6.0.3.170).
  • Added a workaround to read Open XML workbooks written by 3rd party software with invalid named cell style records (6.0.3.172).
  • Fixed a problem reading certain shapes and charts written by Excel 2010 (6.0.3.172).
  • Fixed a problem with parsing VLOOKUP and HLOOKUP when used in the first argument to the IF function inside of an array formula (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 (6.0.3.174).
  • 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 (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 (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 (6.0.3.178).
  • Added a workaround to read invalid cell formulas written by Apple Numbers (6.0.3.178).
  • Fixed an issue with formula cells not rendering correctly after changing a referenced cell when the WorkbookView has multiple frozen panes (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 (6.0.3.184).
  • Fixed some issues with DataValidation and AutoFilter custom dropdown controls when running the Windows Forms WorkbookView in WPF (6.0.3.184).
  • Fixed IRange.Copy when using PasteType.Values or PasteType.ValuesAndNumberFormats to honor the IWorkbookSet.Calculation setting (6.0.3.186).
  • 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 (6.0.3.192).
  • Fixed an issue which caused shapes to sometimes be incorrectly positioned after clearing autofilters (6.0.3.192).
  • Fixed undoing of cell formatting to no longer incorrectly clear merged cells (6.0.3.192).
  • 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 (6.0.3.194).
  • Fixed a bug which occurs with the use of certain combinations of using the IF function in an array formula in a complex workbook (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 (6.0.3.196).
  • 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 (6.0.3.200).
  • Fixed a problem writing data validation formulas with 3d relative references to xls files (6.0.3.202).
  • Added workaround to read Open XML workbooks written by certain 3rd party software (6.0.3.204).
  • 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 (6.0.3.206).
  • Fixed a problem which caused the QUARTILE and PERCENTILE functions to return incorrect results for certain complex workbooks (6.0.3.208).
  • 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 (6.0.3.214).
  • 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 (6.0.3.216).
  • Fixed cases where ROUND function was not compatible with Excel (6.0.3.218).
  • Fixed XIRR to solve certain cases which used to return an error (6.0.3.224).
  • Fixed a problem with autofilter dropdowns which caused it to sometimes not include all values and / or colors (6.0.3.224).
  • 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() (6.0.3.226).
  • 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 (6.0.3.230).
  • Fixed a calculation problem which caused the IF function to return the wrong result when used in an array formula in some complex workbooks (6.0.3.232).
  • See What's New in the Documentation for a list of SpreadsheetGear 2010 breaking changes and limitations.
 
 

SpreadsheetGear 2009

August 7th, 2009 - SpreadsheetGear 2009 adds a number of the most frequently requested features including the 93 Analysis Toolpak functions, enhanced printing support, CSV and text file support, auto fill, goal seeking, data series, bubble charts, chart axis titles, gradients, rotated text and more.

New FeaturesNew 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.
  • 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 (5.1.1.102).
  • Added UI support for setting and displaying hyperlink screen tips (5.1.1.104).
  • Added MarkerBackgroundColor and MarkerForegroundColor properties to the ISeries and IPoint interfaces (5.1.1.118).
  • Added support for x86 and x64 versions of Windows 7 and Windows Server 2008 R2 (5.1.1.154).

Issues AddressedIssues 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.
  • Fixed SpreadsheetGear.Drawing.Image to take the scale (zoom) into account when rendering a single shape (5.0.3.108).
  • Fixed issues with editing when edit is ended or objects have been disposed during the EndEdit or CancelEdit process (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 (5.0.3.108).
  • Fixed issue when setting the plot area bounds from the API after reading workbooks with "inner" manual plot layout (5.0.3.108).
  • Fixed issues with rotated numbers when shrinking and filling with "#" when too large for cell (5.0.3.108).
  • Fixed to support newline characters in number formats in cells (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 (5.0.3.108).
  • 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 (5.0.3.110).
  • 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) (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 (5.0.3.112).
  • 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 (5.0.3.116).
  • 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) (5.1.1.106).
  • Fixed a number of edge case problems with the new Analysis Toolpak functions (5.1.1.106).
  • Fixed printing of borders to no longer print cell borders hanging over from other pages (5.1.1.106).
  • Fixed the SpreadsheetGear.Drawing.Image class to work with charts on chart sheets (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 (5.1.1.106).
  • Fixed the selection code to show as much of the range selection as possible instead of just the active cell (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 (5.1.1.106).
  • Fixed handling of #N/A as chart data values to be more compatible with Excel (5.1.1.106).
  • Fixed trying to open a Word document (.doc) to throw an IOException instead of a NullReferenceException (5.1.1.106).
  • Fixed a problem reading certain charts with out of date chart data cache records (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 (5.1.1.106).
  • Fixed problems with AND and OR worksheet functions which sometimes caused errors in the second and subsequent conditions to be ignored (5.1.1.110).
  • 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 (5.1.1.114).
  • Fixed a problem with the TRUNC function when used in certain array formulas (5.1.1.114).
  • Fixed a problem which caused certain array formulas to return an incorrect value after copying array formulas within the same worksheet (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 (5.1.1.118).
  • Fixed print header and footer fonts to scale the same as page fonts are scaled (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 (5.1.1.118).
  • Fixed to support defined names which contain question mark ('?') characters after the first character as Excel does (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 (5.1.1.118).
  • Improved value axis scaling to work more like Excel 2007 particularly for large values which are close together (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 (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') (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 (5.1.1.122).
  • Fixed dependant cells to calculate correctly after sorting (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 (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 (5.1.1.128).
  • Fixed AutoFill mouse handling to honor the WorkbookView.AllowEditCommands property (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,) (5.1.1.128).
  • 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 (5.1.1.132).
  • Fixed a problem with the EDATE function which caused #NUM! to be incorrectly returned for a number of valid cases (5.1.1.136).
  • Fixed problems reading / writing shapes of type ShapeType.Line from / to the Open XML (xlsx) file format (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 (5.1.1.142).
  • Fixed reading and writing shapes to Open XML to support the IShape.HorizontalFlip and IShape.VerticalFlip properties (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 (5.1.1.146).
  • 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 (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 (5.1.1.150).
  • 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 (5.1.1.154).
  • 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 (5.1.1.160).
  • Fixed a problem copying some shapes when copying worksheets which were opened from Open XML workbooks (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})" (5.1.1.164).
  • 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" (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 (5.1.1.168).
  • Fixed to be able to read workbooks which use single quotes in table column names to escape square braces (5.1.1.172).
  • Fixed a problem which caused charts to sometimes not be repainted after changes to certain axis properties (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 (5.1.1.176).
  • Fixed a problem which caused some gradient fills to be interpreted incorrectly when reading them from xls workbooks (5.1.1.176).
  • Added a workaround to read xls workbooks written by a popular 3rd party grid control which contain invalid cell formatting information (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 (5.1.1.180).
  • Fixed the WORKDAY function to return the correct result when the specified start day falls on a weekend or holiday (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 (5.1.1.182).
  • 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 (5.1.1.1.186).
  • 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... (5.1.1.190).
  • Fixed a painting issue which occurred when rendering certain ranges with row headers, column headers and gridlines all turned off (5.1.1.194).
  • See What's New in the Documentation for a list of SpreadsheetGear 2009 breaking changes and limitations.
 
 

SpreadsheetGear 2008

October 14th, 2008 - SpreadsheetGear 2008 is the most significant upgrade since SpreadsheetGear for .NET 1.0 was released. New features include robust Excel 2007 Open XML (xlsx) support, dynamic chart and range image generation, comprehensive Excel compatible charting support, more rows and columns, named cell styles, RGB colors, theme colors with tinting and shading and more.

New FeaturesNew 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 AddressedIssues 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.
  • 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.
  • 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).
  • See What's New in the Documentation for a list of SpreadsheetGear 2008 breaking changes and limitations.
 
 

SpreadsheetGear for .NET 2007 3.1.2 / 1.7.2

July 31st, 2008 - SpreadsheetGear for .NET 2007 3.1.2 / 1.7.2 is a rollup of hotfixes made since 3.1.1 / 1.7.1 was released in February of 2008.

Issues AddressedIssues Addressed

  • 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 for .NET 2007 3.1.1 / 1.7.1

February 25th, 2008 - SpreadsheetGear for .NET 2007 3.1.1 / 1.7.1 changes include the addition of one simple property and a few bug fixes.

New Feature

  • Added IRange.IndentLevel property.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2007 3.1.0 / 1.7.0

December 12th, 2007 - SpreadsheetGear for .NET 2007 3.1.0 / 1.7.0 changes include the addition of Visual Studio 2008 support and a number of bug fixes.

New FeaturesNew Features

  • 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).

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2007 3.0.2 / 1.6.2

October 3rd, 2007 - SpreadsheetGear for .NET 2007 3.0.2 / 1.6.2 changes include a number of bug fixes.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2007 3.0.1 / 1.6.1

July 30th, 2007 - SpreadsheetGear for .NET 2007 3.0.1 / 1.6.1 changes include IWorkbook.DateTimeToNumber and IWorkbook.NumberToDateTime methods as well as a number of bug fixes.

New FeaturesNew Features

  • Additional SpreadsheetGear Explorer Solution samples.
  • IWorkbook.DateTimeToNumber and NumberToDateTime methods.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2007

June 12th, 2007 - SpreadsheetGear for .NET 2007 enhancements include conditional formatting, grouping and outlining, find and replace, sort, Visual Basic SpreadsheetGear Explorer Sample Solution, new APIs, a few optimizations, GUI improvements and a number of bug fixes.

New FeaturesNew 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.

Breaking ChangesBreaking Changes

  • Most public core APIs now throw an exception when all of the following are true:
    • The current thread has not acquired a lock on the workbook set using GetLock.
    • The workbook set is associated with any GUI element (WorkbookView, etc...).
    • Background calculation is true.
    • 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 AddressedIssues 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.
  • 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 (3.0.0.121 / 1.6.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 (3.0.0.121 / 1.6.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 (3.0.0.121 / 1.6.0.121).
 
 

SpreadsheetGear for .NET 2.5.1 / 1.5.1

April 2nd, 2007 - SpreadsheetGear for .NET 2.5.1 / 1.5.1 enhancements include WorkbookView cell comment indicators, a new WorkbookView.ExtraColor property and a number of bug fixes.

New FeaturesNew Features

  • 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.

Issues AddressedIssues Addressed

  • 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.
  • Fixed a problem which caused incorrect formula evaluation in rare cases after copying certain formulas (2.5.1.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 (2.5.1.117).
  • 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 (2.5.1.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 (2.5.1.119).
 
 

SpreadsheetGear for .NET 2.5.0 / 1.5.0

January 9th, 2007 - SpreadsheetGear for .NET 2.5.0 / 1.5.0 enhancements include API and GUI support for cell comments, data validation, pictures, text boxes, check boxes, drop-downs, list boxes, spinners, scrollbars, buttons, lines, many autoshapes and more.

New FeaturesNew Features

  • 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.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2.1.0 / 1.4.0

September 25, 2006 - SpreadsheetGear for .NET 2.1.0 / 1.4.0 enhancements include support for adding pictures to a worksheet, hyperlink support, password protected worksheets, sheet tab colors, a new command manager, new WorkbookView events, Paste Special, a new SpreadsheetGear Explorer Sample Solution for Visual Studio 2005 and more.

New FeaturesNew Features

  • 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.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2.0.1 / 1.3.1

August 21, 2006 - SpreadsheetGear for .NET 2.0.1 / 1.3.1 enhancements include support for reading and writing VBA Macros, an API for returning arrays from custom functions, support for the USDOLLAR() function and improved WorkbookView performance.

New FeaturesNew Features

  • 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.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 2006

June 30, 2006 - SpreadsheetGear for .NET 2006 enhancements include a rich Windows Forms Spreadsheet Control, Formula Bar, Workbook Designer, Workbook Explorer, Range Explorer and interruptible background calculation as well as numerous new classes, methods and properties.

New FeaturesNew 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 FitToPages properties.
  • 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.
  • Added SpreadsheetGear.CustomFunctions.IArguments. ClearError method (2.0.0.49).
  • Added support for System.Single and System.Byte to IRange.Value and IRange.CopyFromDataTable (2.0.0.49).

Breaking ChangesBreaking 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 AddressedIssues 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.
  • Fixed problem with Cut, Copy and Paste which sometimes caused formula cell values to be lost (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 (2.0.0.49).
  • Fixed IName.Name property setter to throw an exception if the new name would create a duplicate defined name (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 (2.0.0.49).
  • Added workaround to read Biff8 workbooks which are sometimes written to the clipboard by Excel with invalid font indexes (2.0.0.49).
  • Fixed parsing of certain formulas such as "=SUM(aaa:bbb)" (2.0.0.49).
  • Fixed some problems with editing of defined names in the Workbook Explorer (2.0.0.49).
  • Fixed null reference exception which sometimes occurred when deleting a worksheet which has undoable actions associated with it (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 (2.0.0.49).
  • Improved performance when using Workbook Explorer with workbooks which have many worksheets and/or many defined names (2.0.0.49).
  • Fixed row and column header painting issues when only the row or column header is visible (2.0.0.49).
  • Fixed Formula Bar to update when last workbook is closed in the Workbook Designer (2.0.0.49).
  • Fixed some WindowInfo problems when deleting a worksheet in a non-active WorkbookView (2.0.0.49).
 
 

SpreadsheetGear for .NET 1.2

March 28, 2006 - SpreadsheetGear for .NET 1.2 enhancements include the ability to read and write charts, pictures, text and drawing objects as well as copy, insert, move and delete entire worksheets.

New FeaturesNew Features

  • 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.
  • Added support for reading and writing cell comments. (1.2.0.23)
  • Added IWorkbookSet.ReadObjects property which makes it possible to ignore drawing objects when reading a workbook. (1.2.0.23)

Issues AddressedIssues Addressed

  • 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.
  • 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.". (1.2.0.5)
  • Fixed ISheet.CopyBefore and ISheet.CopyAfter to copy all cell formatting, not just the number formats. (1.2.0.7)
  • Fixed problem with ISheet.Delete not fixing up some 3D references correctly. (1.2.0.9)
  • Fixed problem with IRange[string index] not handling sheet specific defined names. (1.2.0.11)
  • Fixed problems with iteration which affected some workbooks. (1.2.0.15)
  • Fixed setting inside vertical and inside horizontal borders to work correctly. (1.2.0.17)
  • 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. (1.2.0.19)
  • 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. (1.2.0.21)
  • Added support to allow reading of invalid Excel workbooks written by some 3rd party software. (1.2.0.23)
  • Fixed problem copying some drawing objects with ISheet.CopyBefore(ISheet) and ISheet.CopyAfter(ISheet). (1.2.0.23)
  • Fixed to delete controls which reference macros when reading. (1.2.0.23)
 
 

SpreadsheetGear for .NET 1.1

December 26, 2005 - SpreadsheetGear for .NET 1.1 enhancements include the ability to easily and efficiently insert a DataTable into an Excel workbook and automatically fixup all formulas, formats and borders, as well as the ability to insert, delete and clear rows, columns and cells.

New FeaturesNew Features

  • 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.

Issues AddressedIssues Addressed

  • 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.
 
 

SpreadsheetGear for .NET 1.0.9

November 7, 2005 - SpreadsheetGear for .NET 1.0.9 adds the ability to copy and consolidate rows, columns and ranges as well as fixing a few issues.

New FeaturesNew Features

  • IRange.Copy methods.
  • 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.
  • Factory.GetWorkbookSet( System.Globalization.CultureInfo ) method to create a workbook set with a specified culture. (1.0.9.7)

New Features Supported By IRange.Copy MethodsNew Features Supported By IRange.Copy Methods

  • Copy rows, columns and cells.
  • 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.
  • Consolidate cells by specifying PasteOperation.Add, PasteOperation.Subtract, PasteOperation.Multiply or PasteOperation.Divide.
  • Transpose cells by passing true for the transpose argument.
  • Skip blank cells by passing true for the skipBlanks argument.

Issues AddressedIssues Addressed

  • 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 rounding of certain numbers to work more like Excel. (1.0.9.7)
  • Fixed copying of columns to copy column hidden and outline settings. (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( )". (1.0.9.7)
  • 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.
 
 

SpreadsheetGear for .NET 1.0.7

October 19, 2005 - SpreadsheetGear for .NET 1.0.7 adds a few new features and addresses some issues in SpreadsheetGear for .NET 1.0.4.

New FeaturesNew Features

  • Significantly improved performance.
  • Added support for getting and setting manual page breaks with the SpreadsheetGear.IRange.PageBreak property 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.WrapTextDefined properties.
  • Added the SpreadsheetGear.IRange.Orientation and SpreadsheetGear.IRange.OrientationDefined properties, as well as the SpreadsheetGear.Orientation class with related constants.

Issues AddressedIssues 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.