SpreadsheetLight 3.4.5

SpreadsheetLight is an open source Open XML spreadsheet library for .NET Framework written in C#, and is released under the MIT License. You can create new Open XML spreadsheets, or work with existing Open XML spreadsheets that are compatible with Microsoft Excel 2007/2010/2013 and LibreOffice Calc.

No Office/Excel Interop needed. You do not need Microsoft Office/Excel to be installed.

Dependency: Open XML SDK (2.0 or later)

There is a newer version of this package available.
See the version list below for details.
Install-Package SpreadsheetLight -Version 3.4.5
dotnet add package SpreadsheetLight --version 3.4.5
paket add SpreadsheetLight --version 3.4.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

You can read the full list of changes at http://spreadsheetlight.com/version-history/ Note that source code is only available up to minor releases, meaning Major.Minor.0 versions.

Version 3.4.5
- SmartTags is now removed from consideration (not so smart now, are you? ;). Which means the code is now ready for Open XML SDK 2.5! And yes, it now works with Open XML SDK 2.5 (have I mentioned that? lol)
- Internal cell storage structure is revamped. It used to be a 1-dimensional dictionary with a 2-dimensional key, but is now a 2-dimensional dictionary with a 1-dimensional key. Tech explanation: Dictionary<SLCellPoint, SLCell> to Dictionary<int, Dictionary<int, SLCell>>. This is done because a 1-dimensional key is at most 2^31 hash entries, which cannot contain the theoretical 1048576 (2^20) rows and 16384 (2^14) columns per worksheet supported by latest versions of Excel.
- Bug fix: plotting separate data series on charts as different chart types now works (your typical combination chart such as a column chart with lines)

Version 3.4.4
- Bug fix: Formulas will be correctly changed when columns are deleted (when the formula involves said deleted columns).

Version 3.4.3
- Bug fix: Cell value/formula set on a shared cell formula base cell now works correctly. For example, setting on C3 when C3 holds a shared cell formula will work.
- Bug fix: Setting filter on worksheet now works correctly. It failed to sort before (basically also need to set underlying defined name _xlnm._FilterDatabase. Gawdiggitty.)

Version 3.4.2
- You can now get row/column grouping levels. See GetRowGroupLevel() and GetColumnGroupLevel() functions.
- You can now get a list of the shared cell formulas in the currently selected worksheet. See GetSharedCellFormulas() function.
- Cell formulas are now more correctly maintained when copying/inserting/deleting cells/rows/columns.
- Catered for situation where cell reference ranges aren't in top-left to bottom-right format (such as E1:A7). See SLTool for translating reference sequences to SLCellPointRange and vice versa. Don't worry, you probably wouldn't have known about this anyway...
- You can now draw borders on a cell range! And border grids! Try out the DrawBorder() and DrawBorderGrid() functions.
- You can now merge cells and set style/border properties at the same time! No more manual border drawing on merged cells! Woohoo! See MergeWorksheetCells() function overloads.
- You can now make SpreadsheetLight throw up, I mean, throw exceptions! When there are exceptions, of course. See ThrowExceptionsIfAny property. Not sure how much help this is though...
- You can now forcibly get a boolean value if it looks like it's a boolean but actually stored as text. See the GetCellValueAsBoolean() functions.
- Breaking change: SLCellFormula.Reference data type changed from string to List<SLCellPointRange> (but you shouldn't have been using this anyway...)
- Bug fix: The properties "count" and "uniqueCount" removed from shared strings table part. It seems a high number of shared strings will cause the calculation to render a corrupt file. See when writing the shared strings table for details.
- Bug fix: Outline (grouping) levels of rows and columns now limited to 0 to 7 (was allowed to go to 8 previously. See GroupRows() and GroupColumns() in RowColumnFunctions.cs)

Version 3.4.1
- Removed optional argument use (specifically IsStylish) so that developers using Visual Studio 2008 (.NET Framework 3.5) can still compile the source code.
- Optimised GetWorksheetStatistics(). It's now faster and less memory intensive.
- Bug fix: autofitting rows with a smaller initial height now correctly autofit to content
- Bug fix (?): SLStyle.MergeStyle() now takes on the new style object's format code regardless.


This package has no dependencies.

Version History

Version Downloads Last updated
3.4.9 50,170 4/1/2017
3.4.8 20,888 10/21/2016
3.4.7 1,356 10/9/2016
3.4.6 8,471 10/3/2016 824 9/26/2016
3.4.5 256 9/26/2016
3.4.4 84,072 4/26/2014
3.4.3 2,482 3/1/2014
3.4.2 466 2/22/2014
3.4.1 8,372 8/31/2013
3.4.0 11,525 7/27/2013
3.3.1 685 6/7/2013
3.3.0 437 5/18/2013
3.2.9 456 5/12/2013
1.0.0 613 4/24/2013
Show less