NPOI is a .NET library that reads and writes Office file formats without requiring Microsoft Office or COM interop.
The library addresses the need to programmatically work with Excel and Word documents in .NET environments without external dependencies. It handles Office 2003 and 2007 formats by implementing the file specifications directly, allowing developers to manipulate spreadsheets and documents through managed code. The tool covers most Excel features including cell styling, data formatting, and formulas, and supports both reading and writing operations across xls, xlsx, and docx formats.
Startups, freelancers, and hobbyists with annual revenue below a threshold can use the tool at no cost. Organizations and revenue-generating users should be aware that the project requires a monthly maintenance fee paid through GitHub Sponsors, with licensing terms enforced through a EULA on binary releases and NuGet packages. The library works across Windows and Linux environments and supports multiple .NET versions including .NET Framework 4.0 and above, .NET Standard 2.0 and 2.1, and .NET 8. It is designed with an interface-oriented architecture, particularly in the NPOI.SS namespace, which facilitates integration into larger applications.
The project maintains active development with regular updates and real-world deployments across multiple organizations. Documentation is available through official tutorials, getting started guides, and platform-specific resources for Linux usage. The codebase has attracted contributions from multiple developers and receives backing from sponsored organizations.