A lightweight and fast C# library for reading Microsoft Excel files (including .xls, .xlsx, .xlsb, and .csv) from .NET applications.
ExcelDataReader is a lightweight, fast library written in C# for reading Microsoft Excel files. It enables .NET applications to extract data from a wide range of Excel formats (.xls, .xlsx, .xlsb, CSV) without requiring Microsoft Office installations. The library solves the problem of programmatically accessing spreadsheet data for import, analysis, or migration tasks.
C# and .NET developers who need to import or process Excel data within their applications, such as in data pipelines, reporting tools, or business software.
Developers choose ExcelDataReader for its performance, minimal dependencies, and comprehensive format support. It provides both a low-level reader interface for custom data handling and a convenient DataSet integration, making it flexible for various use cases.
Lightweight and fast library written in C# for reading Microsoft Excel files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports a wide range of Excel formats from legacy .xls to modern .xlsx and .xlsb, as detailed in the supported file formats table, ensuring compatibility with almost any Excel file.
Offers both a low-level IExcelDataReader interface for granular control and a convenient AsDataSet() method for easy integration with System.Data, catering to different development needs.
Provides customizable settings for reader creation and DataSet conversion, including password protection, CSV separator autodetection, and progress tracking callbacks, as shown in the configuration examples.
Does not require Microsoft Office installations, making it a portable and efficient solution for reading Excel files without external dependencies.
Requires manual registration of CodePagesEncodingProvider in .NET Core and later, adding an extra step that can be overlooked and cause runtime errors, as noted in the important note.
Version 3 introduced breaking changes that require code updates, such as the removal of IsFirstRowAsColumnNames, which can disrupt existing implementations during upgrades.
Lacks direct cell formatting capabilities; developers must use third-party libraries like ExcelNumberFormat to handle formatted values, increasing project complexity.
Focuses exclusively on reading Excel files, so it cannot be used for creating or modifying spreadsheets, limiting its utility for full Excel manipulation tasks.