ClosedXML 0.94.0-rc1
ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.
This is a prerelease version of ClosedXML.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
Install-Package ClosedXML -Version 0.94.0-rc1
dotnet add package ClosedXML --version 0.94.0-rc1
<PackageReference Include="ClosedXML" Version="0.94.0-rc1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ClosedXML --version 0.94.0-rc1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ClosedXML, 0.94.0-rc1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install ClosedXML as a Cake Addin
#addin nuget:?package=ClosedXML&version=0.94.0-rc1&prerelease
// Install ClosedXML as a Cake Tool
#tool nuget:?package=ClosedXML&version=0.94.0-rc1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Breaking changes
IDisposable
interface removed fromIXLWorksheet
. See #1049IXLPictures
interface has changed to accept parameters of typeIXLCell
instead ofIXLAddress
. See #930IXLBaseAutoFilter
removed and replaced with the existingIXLAutoFilter
. See #909IXLRange.ToString()
andIXLRangeAddress.ToString()
now return context aware range strings. See #1021
Enhancements
- #856 Clear pivot table rendered range upon loading to avoid conflict on rendered cells when opening the file.
- #877 Add helper property
VisibleRows
for autofilters - #884 Allow pivot tables to have no theme
- #904 Implement the full range of Item subclasses for pivot tables
- #905 Don't choke on pivot table saving when formulas fail
- #908 New methods to append and replace table data
- #909 New method to reapply autofilter
- #926 Disallow table with null
.DataRange
when saving - #930 Store picture markers against a range to allow shifting when inserting and deleting
- #932 Optionally propagate extra table columns when changing data
- #945 Allow
Guid
values to be inserted when dumping data - #962 Add ability to set cell value to an enum value
- #978 Add table helper methods:
IXLTables.TryGetTable()
- #996 Allow table field names consisting of only whitespace
- #999 Allow names to start with backslash
- #1005 Ignore print areas that point to external workbooks
- #1019 Improve
XLCell.TryGetValue
and implement additional tests - #1021 Return simpler range address values
- #1025 Lazy initialize graphics
- #1033 Optimize the performance of searching range intersections on small collections
- #1035 Improve implicit string casting
- #1036 Don't validate named ranges when loading file
- #1044 Add check that data validation value length does not exceed 255 chars
- #1064 Make
TryGetValue_decimal_Good2test
environment-independent
Bug fixes
- #876 Correctly unprotect worksheet without password
- #887 Correctly determine used range when there are merged ranges on a worksheet
- #903 Clear all cell contents (formats too) in pivot table range upon loading.
- #906 Maintain pivot table page field order
- #931 Delete table rows correctly
- #947 Fix pivot table integrity when saving multiple times
- #956 Do not quote worksheet name with whitespace when saving pivot table worksheet source
- #969 Fix ranges consolidation
- #985 Set
XLPivotField.ShowBlankItems
by default to false and fix treatment of defaults from loading file - #988 FIX for
XLConditionalFormat
equality comparer fails forColorScale
- #998 Copies of tables should have
RelId
default tonull
- #1023 Sort ranges to shift before enumerating through them to avoid new target address conflicting with existing range
- #1028 Copy row/column visibility setting
- #1029
CellsUsed
refactoring and fix - #1031 Fix for merging cells
- #1032 Change the way invalid ranges are saved
- #1041 Autofilter with multiple columns with filters
- #1047 String comparisons should be case-insensitive
- #1048 Shift data validation ranges when inserting / delete ranges
Breaking changes
IDisposable
interface removed fromIXLWorksheet
. See #1049IXLPictures
interface has changed to accept parameters of typeIXLCell
instead ofIXLAddress
. See #930IXLBaseAutoFilter
removed and replaced with the existingIXLAutoFilter
. See #909IXLRange.ToString()
andIXLRangeAddress.ToString()
now return context aware range strings. See #1021
Enhancements
- #856 Clear pivot table rendered range upon loading to avoid conflict on rendered cells when opening the file.
- #877 Add helper property
VisibleRows
for autofilters - #884 Allow pivot tables to have no theme
- #904 Implement the full range of Item subclasses for pivot tables
- #905 Don't choke on pivot table saving when formulas fail
- #908 New methods to append and replace table data
- #909 New method to reapply autofilter
- #926 Disallow table with null
.DataRange
when saving - #930 Store picture markers against a range to allow shifting when inserting and deleting
- #932 Optionally propagate extra table columns when changing data
- #945 Allow
Guid
values to be inserted when dumping data - #962 Add ability to set cell value to an enum value
- #978 Add table helper methods:
IXLTables.TryGetTable()
- #996 Allow table field names consisting of only whitespace
- #999 Allow names to start with backslash
- #1005 Ignore print areas that point to external workbooks
- #1019 Improve
XLCell.TryGetValue
and implement additional tests - #1021 Return simpler range address values
- #1025 Lazy initialize graphics
- #1033 Optimize the performance of searching range intersections on small collections
- #1035 Improve implicit string casting
- #1036 Don't validate named ranges when loading file
- #1044 Add check that data validation value length does not exceed 255 chars
- #1064 Make
TryGetValue_decimal_Good2test
environment-independent
Bug fixes
- #876 Correctly unprotect worksheet without password
- #887 Correctly determine used range when there are merged ranges on a worksheet
- #903 Clear all cell contents (formats too) in pivot table range upon loading.
- #906 Maintain pivot table page field order
- #931 Delete table rows correctly
- #947 Fix pivot table integrity when saving multiple times
- #956 Do not quote worksheet name with whitespace when saving pivot table worksheet source
- #969 Fix ranges consolidation
- #985 Set
XLPivotField.ShowBlankItems
by default to false and fix treatment of defaults from loading file - #988 FIX for
XLConditionalFormat
equality comparer fails forColorScale
- #998 Copies of tables should have
RelId
default tonull
- #1023 Sort ranges to shift before enumerating through them to avoid new target address conflicting with existing range
- #1028 Copy row/column visibility setting
- #1029
CellsUsed
refactoring and fix - #1031 Fix for merging cells
- #1032 Change the way invalid ranges are saved
- #1041 Autofilter with multiple columns with filters
- #1047 String comparisons should be case-insensitive
- #1048 Shift data validation ranges when inserting / delete ranges
Release Notes
See https://github.com/ClosedXML/ClosedXML/releases/tag/0.94.0-rc1
Dependencies
-
.NETFramework 4.0
- DocumentFormat.OpenXml (>= 2.7.2)
- ExcelNumberFormat (>= 1.0.3)
- FastMember.Signed (>= 1.3.0)
-
.NETFramework 4.6
- DocumentFormat.OpenXml (>= 2.7.2)
- ExcelNumberFormat (>= 1.0.3)
- FastMember.Signed (>= 1.3.0)
-
.NETStandard 2.0
- DocumentFormat.OpenXml (>= 2.7.2)
- ExcelNumberFormat (>= 1.0.3)
- FastMember.Signed (>= 1.3.0)
- System.Drawing.Common (>= 4.5.0)
Used By
NuGet packages (130)
Showing the top 5 NuGet packages that depend on ClosedXML:
Package | Downloads |
---|---|
CsvHelper.Excel
An implementation of ICsvParser and ICsvSerializer from CsvHelper that reads and writes using the ClosedXml library.
|
|
Ewl
The Enterprise Web Library (EWL), and its tailored infrastructure platform, are a complete and open solution for developing and operating web-based enterprise software.
|
|
DoddleReport.OpenXml
Adds OpenXML support to DoddleReport. The currently supported format is Excel and is more robust than the default ExcelReportWriter in DoddleReport.
|
|
ClosedXML.Report
ClosedXML.Report is a tool for report generation and data analysis in .NET applications through the use of Microsoft Excel. ClosedXML.Report is a .NET-library for report generation Microsoft Excel without requiring Excel to be installed on the machine that's running the code.
|
|
ClosedXML.Extensions.Mvc
MVC extensions for ClosedXML
|
GitHub repositories (10)
Showing the top 5 popular GitHub repositories that depend on ClosedXML:
Repository | Stars |
---|---|
open-rpa/openrpa
Free Open Source Enterprise Grade RPA
|
|
Implem/Implem.Pleasanter
Pleasanter | Business application platform
|
|
ClosedXML/ClosedXML.Report
ClosedXML.Report is a tool for report generation with which you can easily export any data from your .NET classes to Excel using a XLSX-template.
|
|
shps951023/MiniExcel
A high performance and easy Excel(xlsx,csv) Micro-Helper that avoids OOM and without third party dependencies to create or dynamic/type POCO mapping query etc..
|
|
nhmkdev/cardmaker
An application that generates graphics via data sources.
|
Version History
Version | Downloads | Last updated |
---|---|---|
0.95.4 | 479,914 | 12/16/2020 |
0.95.3 | 1,486,807 | 5/25/2020 |
0.95.2 | 218,822 | 4/26/2020 |
0.95.1 | 28,465 | 4/23/2020 |
0.95.0 | 88,313 | 4/15/2020 |
0.95.0-beta2 | 50,242 | 8/21/2019 |
0.95.0-beta1 | 22,828 | 4/4/2019 |
0.94.2 | 2,683,882 | 12/18/2018 |
0.94.0 | 34,000 | 12/12/2018 |
0.94.0-rc2 | 4,051 | 11/29/2018 |
0.94.0-rc1 | 5,290 | 11/11/2018 |
0.93.1 | 570,153 | 8/7/2018 |
0.93.0 | 192,041 | 6/25/2018 |
0.93.0-rc3 | 6,696 | 6/7/2018 |
0.93.0-rc2 | 2,427 | 5/31/2018 |
0.93.0-beta4 | 3,412 | 5/14/2018 |
0.93.0-beta2 | 3,848 | 4/26/2018 |
0.93.0-beta1 | 1,727 | 4/19/2018 |
0.92.1 | 356,875 | 4/10/2018 |
0.92.0-beta1 | 3,705 | 3/22/2018 |
0.91.1 | 24,940 | 4/4/2018 |
0.91.0 | 178,598 | 1/31/2018 |
0.91.0-beta3 | 2,018 | 1/23/2018 |
0.91.0-beta2 | 10,887 | 12/8/2017 |
0.91.0-beta1 | 1,791 | 11/29/2017 |
0.90.0 | 411,022 | 10/23/2017 |
0.90.0-beta2 | 2,078 | 10/6/2017 |
0.89.0 | 246,589 | 9/12/2017 |
0.89.0-beta1 | 3,497 | 8/23/2017 |
0.88.0 | 128,835 | 7/24/2017 |
0.88.0-beta1 | 8,341 | 7/10/2017 |
0.87.1 | 605,735 | 4/3/2017 |
0.86.0 | 225,634 | 1/6/2017 |
0.85.0 | 148,355 | 12/7/2016 |
0.80.1 | 274,567 | 9/15/2016 |
0.76.0 | 1,024,107 | 12/16/2014 |
0.75.0 | 107,390 | 9/17/2014 |
0.74.0 | 27,011 | 8/10/2014 |
0.73.0 | 30,305 | 6/24/2014 |
0.72.3 | 11,273 | 6/4/2014 |
0.72.2 | 1,724 | 6/4/2014 |
0.72.1 | 31,568 | 6/4/2014 |
0.72.0 | 4,049 | 6/4/2014 |
0.71.1 | 9,615 | 5/26/2014 |
0.70.0 | 5,227 | 5/18/2014 |
0.69.2 | 106,224 | 10/3/2013 |
0.69.1 | 27,817 | 8/15/2013 |
0.69.0 | 3,260 | 8/10/2013 |
0.68.1 | 56,221 | 10/20/2012 |
0.68.0 | 2,547 | 10/12/2012 |
0.67.2 | 12,798 | 8/14/2012 |
0.67.1 | 1,772 | 8/13/2012 |
0.67.0 | 1,807 | 8/12/2012 |
0.66.1 | 2,422 | 7/28/2012 |
0.66.0 | 2,018 | 7/18/2012 |
0.65.2 | 4,357 | 4/21/2012 |
0.64.0 | 4,757 | 2/4/2012 |