ExcelDataReader Versions Save

Lightweight and fast library written in C# for reading Microsoft Excel files

v3.4.0

6 years ago

Highlights in ExcelDataReader 3.4.0 since 3.3.0:

  • New MergeCells property returns merged cell ranges in the current sheet
  • New RowCount property returns number of rows in the current sheet
  • New FilterColumn callback option for AsDataSet()
  • Initial support for reading CSV
  • Bugfix: Fixed hang when reading certain broken XLS. Regression since 3.3.0
  • Bugfix: Fixed case insensitive lookup of XLSX ZIP entries
  • Bugfix: Fixed exceptions reading Compound Document directory entries with bad data

v3.3.0

6 years ago

Highlights in ExcelDataReader 3.3.0 since 3.2.0:

  • Support for TimeSpan values. GetValue() returns values of type TimeSpan when the number format contains duration formatting tokens [hh], [mm], or [ss]. This is a breaking change for users who attempted to work around the broken DateTime-based durations before
  • New IExcelDataReader.GetNumberFormatString() method returns the number format string for a value
  • Improved performance of Reset() and AsDataSet() methods to compensate for slowness introduced by an XLSX compatibility fix in 3.2.0
  • Bugfix: Fixed problems reading certain XLS where unfortunately aligned SST contents caused an exception. Regression since 3.2.0
  • Bugfix: Missing password throws InvalidPasswordException instead of NullReferenceException
  • Bugfix: Fixed opening XLSX encrypted with the default Excel password

v3.2.0

6 years ago

Highlights in ExcelDataReader 3.2.0 since 3.1.0:

  • Support for password protected workbooks
  • Support for netstandard2.0
  • New RowHeight property returns the height of the current row
  • New RowFilter configuration callback option for AsDataSet()
  • AsDataSet() trims trailing blank rows

v3.1.0

6 years ago

Highlights in ExcelDataReader 3.1.0 since 3.0.0:

  • New HeaderFooter property contains information about headers and footers
  • New CodeName property contains the current sheet's VBA code name
  • Bugfix: Could not read XLS larger than ~15 megabytes
  • Bugfix: Could not read XLSX formatted text
  • Includes IntelliSense XML documentation

v3.0.0

6 years ago

Breaking changes in ExcelDataReader 3.0.0 since 3.0.0-develop00086:

  • The IDataReader.Get* reader methods no longer attempt to convert to the requested type. Throws InvalidCastException if the field value is not of the expected type
  • Removed the ConvertOaDate option: always returns DateTimes if possible, otherwise the original value

v3.0.0-develop00086

6 years ago

Highlights in ExcelDataReader 3.0.0-develop00086 since 3.0.0-develop00019:

  • Support for older XLS files back to Excel 2.0
  • Improved support for XLS generated by third parties; removed ReadOption.Loose/Strict
  • Support dates correctly in XLS/XLSX created on Mac
  • Support text dates, cached formula values, empty sheet paths in XLSX
  • Support fallback encoding in XLS
  • More flexible column name handling in DataSets; removed IsFirstRowAsColumnHeaders
  • CreateReader() factory methods take an ExcelReaderConfiguration object to control the reader's behavior
  • AsDataSet() method takes an ExcelDataSetConfiguration object to control how the DataSet is populated

v3.0.0-develop00019

7 years ago

This is a major release with some breaking changes.

Highlights in ExcelDataReader 3.0.0-develop00019 since 2.1.2.3:

  • No longer using temp files for OpenXml
  • Packages for .NET Core / netstandard1.3. net20 and net45 still supported
  • Package no longer pulls in SharpZipLib on net45 and netstandard targets (but still does on net20)
  • Made AsDataSet() an extension method in separate ExcelDataReader.DataSet package
  • Added IExcelDataReader.Reset() method to restart the reader at the first result
  • No longer skips empty tables
  • No longer assumes 256 columns for XLS without dimensions
  • Always scans sheet data to determine maximum extents
  • Fixed various XLS string encoding issues
  • Renamed main namespace and DLL to ExcelDataReader (was Excel)

See #139 for the main PR.