NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #2382 most downloaded on NuGet
Lightweight, fast and simple .NET processing tool for importing, exporting and templating spreadsheets.
Last release 1 months ago
22 Aug 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 55 of the last 60 stable releases
16 versions withdrawn
withdrawn after publishing
127 years old
130 releases · first in 1900
[New] Remove LISENCE_CODE check
Nothing published for this version
Nothing published for this version
One column per quarter.
- [New] Check License Code
[New] ExcelFormat support DateTimeOffset/Decimal/double etc. type format #I49RZH #312 #305
[New] ExcelFormat support DateTimeOffset/Decimal/double etc. type format #I49RZH #312 #305
[New] Support byte file import/export
[New] SaveAs support to convert byte[] value to base64 string
[New] Query support to convert base64 value to byte[]
[New] OpenXmlConfiguration add ConvertByteArrayToBase64String to turn on/off base64 convertor
[New] Query support ExcelInvalidCastException to store column, row, value data #309
[New] SaveAs support image #304
[New] SaveAs support image #304
[Opt] Improve SaveAs efficiency
[Fix] Excelnumberformat 1.1.0 valid date expired (Valid from: 2018-04-10 08:00:00 to 2021-04-14 20:00:00) link
[New] SaveAsByTemplate support datareader #I4HL54
[New] QueryAsDataTable remove empty column keys. #298
[New] QueryAsDataTable remove empty column keys. #298
[Bug] Error NU3037: ExcelNumberFormat 1.1.0 #302
[Bug] Prefix and suffix blank space will lost after SaveAs #294
[New] SaveAs default style with autoFilter mode. #190
[New] SaveAs default style with autoFilter mode. #190
[New] Add ConvertCsvToXlsx、ConvertXlsxToCsv method. #292
[New] OpenXmlConfiguration add AutoFilter property.
[Bug] Fix after CSV Query then SaveAs system will throw "Stream was not readable." exception. #293
[Bug] Fix SaveAsByTemplate & convert to & I4DQUN
[Breaking Change] SaveAs by empty IEnumerable will generate header now empty rows now. #133
[New] SaveAs support enum description #I49RYZ
[New] Query strong type support multiple column names mapping to the same property. #I40QA5
[Breaking Change] SaveAs by empty IEnumerable will generate header now empty rows now. #133
[Bug] SaveAs sheet enum mapping cell number type #286
[Bug] Fix xlsx file header column name with &,<,>,",' , the file cannot be opened.
[Bug] Fix v0.17.3 SaveAs xlsx file will cause "XML error : Catastrophic failure"
[New] Support set column width #280
[New] Support set column width #280
[Bug] Fix csv not support QueryAsDataTable #279
[OPT] Clearer exception message when file is illegal excel zip format. #272
[Bug] Fix v0.16.0-0.17.1 custom format contains specific format (eg: #,##0.000_);[Red]\(#,##0.000\) ), automatic converter will convert double to date
[New] Add QueryAsDataTableAsync(this Stream stream..)
[New] Add QueryAsDataTableAsync(this Stream stream..)
[OPT] More clear strong type conversion error message #I3X2ZL
[New] Support Async/Task #52, contributor: isdaniel ( SHIH,BING-SIOU)
[New] SaveAsByTemplate support DateTime custom format #255, contributor: 网虫 (landde) - Gitee.com
[New] Query support custom datetime format mapping datetime type #256
[New] Query support custom datetime format mapping datetime type #256
[Bug] Fix Query call convertValueByStyleFormat method repeatedly, cause waste of resources #259
[Bug] Chinese env datetime format InvalidCastException #257
[Breaking Change] Set CSV Reader/Writer default encoding : UTF-8 => UTF-8-BOM
[Breaking Change] Set CSV Reader/Writer default encoding : UTF-8 => UTF-8-BOM
[Breaking Change] Rename CsvConfiguration GetStreamReaderFunc => StreamReaderFunc
[New] Csv SaveAs support custom StreamWriter
[New] Csv SaveAs support datareader
[Breaking Change] Stream cannot know the file type, please specify ExcelType manually
[New] Support Custom Datetime format #241
[Bug] Csv type mapping Query error "cannot be converted to xxx type" #243
[Bug] No error exception throw when reading xls file #242
[Breaking Change] Stream cannot know the file type, please specify ExcelType manually
[Bug] Fix Sheetxml writer error, it contains two ">" #240
[New] SaveAs change default style and provide style options enum #132
[New] SaveAs change default style and provide style options enum #132
[New] Support SaveAs by DataSet #235
[Bug] Fix csv Query split comma not correct #237 #I3R95M
[Bug] Fix csv Query split comma not correct #237 #I3R95M
[Bug] QueryAsDataTable type check problem, e.g A2=5.5 , A3=0.55/1.1 will case double type check error #233
[Breaking Change] Change GetSheetNames type IEnumerable -> List
[New] SaveAs Support Create Multiple Sheets
[Breaking Change] Change GetSheetNames type IEnumerable -> List
[Bug] Fix SaveAs by datareader error "Invalid attempt to call FieldCount when reader is closed" #230
[Breaking Change] Rename OpenXmlConfiguration FillMergedCells
[New] Query support Fill Merged Cells Down #122
[New] Query support Fill Merged Cells Down #122
[Bug] Fix QueryAsDataTable error "Cannot set Column to be null" #229
[Opt] Support Xlsm AutoCheck #227
[Opt] Support Xlsm AutoCheck #227
[Bug] Fix SaveAsByTemplate single column demension index error #226
[Bug] Fix asp.net webform gridview datasource can't use QueryAsDataTable #223
[Bug] Fix custom m/d format not convert datetime #222
[New] Query、GetColumns support startCell #147
[New] Query、GetColumns support startCell #147
[New] GetColumns support read headers
[New] Support QueryAsDataTable method #216
[New] Support QueryAsDataTable method #216
[New] SaveAs support IDataReader value parameter #211
[Bug] Fix numeric format string will be cast to numeric type #I3OSKV
[Opt] Optimize SaveAs convert value type logic to improve performance
[Changed] DataTable use Caption for column name first, then use columname #217
[Changed] DataTable use Caption for column name first, then use columname #217
[New] Type Query support Enum mapping #89
[OPT] Optimize stream excel type check #215
[Breaking Change] Change CSV SaveAs datetime default format : "yyyy-MM-dd HHss"
[New] Support open with read only mode, avoid error of The process cannot access the file because it is being used by another process #87
[Breaking Change] Change CSV SaveAs datetime default format : "yyyy-MM-dd HH:mm:ss"
[Bug] Fixed SaveAsByTemplate when merge cells will cause collection rendering error #207
[Bug] Fixed MiniExcel.SaveAs(path, value,sheetName:"Name"), the actual sheetName is Sheet1
[Bug] Fix Column more than 255 rows cannot be read error #208
[New] SaveAsByTemplate by template bytes, convenient to cache and support multiple users to read the same template at the same time #189
[New] SaveAsByTemplate by template bytes, convenient to cache and support multiple users to read the same template at the same time #189
[New] SaveAsByTemplate support input IEnmerable<IDicionary<string,object>> or DapperRows or DataTable parameters #201
[Bug] Fix after stream SaveAs/SaveAsByTemplate, miniexcel will close stream #200
[New] Support .NET Framework 4.5
[New] Support .NET Framework 4.5
[Bug] Fix template excel that with namespace prefix will cause parsing error #193
[OPT] Optimize template paresing performance
[Bug] Template concating cell value type problem #179
[Bug] Template concating cell value type problem #179
[Bug] Template fix non-nullable numeric type cell type is 'str' #180
[OPT] Optimize performance of filling excel
[OPT] Optimize performance of filling excel
[OPT] Template IEnumerable generate support type auto mapping (Issue #177)
[New] Support GetColumns method #174
[New] Template support $rowindex keyword to get current row index
[Bug] Dimension without x prefix #175
[New] Support Filling Excel by SaveAsByTemplate method to fill data into excel by xlsx template
[New] Support ColumnIndex Attribute #142 & #I3I3EB
[New] Support ColumnIndex Attribute #142 & #I3I3EB
[Bug] Fix issue #157 : Special conditions will get the wrong worksheet name
[Update] issue #150 : SaveAs input IEnuerable should throw clear msg exception
[New] Added GetSheetNames method support multi-sheets Query
[New] Added GetSheetNames method support multi-sheets Query
[New] Query support by sheet name
[New] Csv SaveAs support DataTable/Dictionary parameters
[New] CsvConfiguration support custom newLine & seperator & GetStreamReaderFunc
[OPT] Optimize SaveAs/Query excel file type auto-check
[Bug] Fix Query SharedStrings control character not encoding (issue Issue #149 )
[Bug] Fix SharedStrings get wrong index (issue #153 )
[Bug] Fix SharedStrings get wrong index (issue #153 )
[Bug] SaveAs support control character encoding (issue Issue #149 )
[New] SaveAs support POCO excel column name/ignore attribute
[New] Query dynamic with first head will ignore blank/whitespace columns
[New] Query dynamic with first head will ignore blank/whitespace columns
[New] Query type mapping support Custom POCO excel column name/ignore attribute
[Bug] Solve cannot convert Cell value to Nullable (issue #138)
[Bug] Solve System.IO.Compression referencing twice (issue #97)
[Bug] Solve System.IO.Compression referencing twice (issue #97)
[Bug] StrongTypeMapping Query empty row will be generated repeatedly
[New] Add MiniExcel.Query by file path method
[Breaking Change] SaveAs value parameter change type check logic
Optimize SaveAs logic
[Breaking Change] SaveAs value parameter change type check logic
[Breaking Change] Remove SaveAs by object, now only support Datatable,IEnumerable,ICollection
[New] SaveAs support parameter IEnumerable deferred execution
[Breaking Change] Remove SaveAs by object, now only support Datatable,IEnumerable,ICollection
[Bug] Fix empty rows generate excel error (issue: #128)
[Breaking Change] Remove SaveAs startCell parameter
[New] Support OpenXml Xlsx SaveAs writer mode that avoids OOM
[Breaking Change] Remove SaveAs startCell parameter
[Bug] Fix SaveAs dimension printHeader:true not correct
[Breaking Changes] Remove Query First/FirstOrDefault/Single/SingleOrDefault, user can use LINQ method do it.
[New] Support create CSV by file path or stream
[New] Support csv custom configuration setting
[New] Support auto/manual specify excel type (xlsx or csv)
[Breaking Changes] Remove Query First/FirstOrDefault/Single/SingleOrDefault, user can use LINQ method do it.
[New] Support SaveAs by IEnumerable of DapperRow and IDictionary
[New] Support SaveAs by IEnumerable of DapperRow and IDictionary<string,object>
[New] Support dynamic query timespan style format mapping to timespan type.
[Bug] Fix ShMemory leak and static problem.
[Bug] Fix ShMemory leak and static problem.
[New] Support style datetime format mapping to datetime type.
[Breaking Changes] SaveAs value type from object to DataTable & ICollection
SavaAs support xl/sheet dimension
[Breaking Changes] SaveAs value type from object to DataTable & ICollection
[Bug] Fix ICollection with type but no data error ( #105 )
[Optimize] Optimize type mapping bool and datetime auto check
[Optimize] Optimize type mapping bool and datetime auto check
[New] Query Support xl/worksheets/Sheet Xml Xml <c> without r attribute or without <dimension> but <c> with r attribute, but now performance is slow than with dimension ( )
Your coding agent can read these notes before it upgrades. Set up the MCP server →