{"adoption": {"forks": 406, "observed_at": "2026-08-28T04:05:58.191725+00:00", "stars": 1950}, "canonical_url": "https://ross.abutalabs.com/products/dotnetcore-npoi", "card": {"archived": true, "artifact_type": "library", "description": "A .NET library for reading and writing Microsoft Office binary and OOXML file formats.", "domain": ["files", "developer-tools", "spreadsheets"], "enriched": true, "function": ["parser", "file-system", "serialization"], "health_score": 10, "homepage": null, "language": "C#", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["dotnetcore/NPOI"], "name": "dotnetcore/NPOI", "platform": ["dotnet", "cross-platform"], "pushed_at": "2020-11-24T05:18:22+00:00", "repo": "dotnetcore/NPOI", "stars": 1950, "tags": ["excel", "word", "office-formats", "ooxml", "xlsx", "docx", "spreadsheet", "apache-poi-port"], "topics": ["npoi", "word", "excel", "office"], "urls": [], "use_cases": ["read and write Excel xlsx files in C#", "generate Word documents programmatically in .NET", "parse legacy .xls binary spreadsheets", "export data grids to Excel without Office installed", "manipulate Office OOXML files on .NET Core", "create Excel reports from a web application"], "what_it_is": "NPOI is a .NET library for reading and writing Microsoft Office binary (BIFF) and OOXML file formats such as Excel and Word documents. It is a .NET Core port of the Apache POI project, migrated from Tony Qu's original NPOI.", "when_to_avoid": ["you need a fully managed, actively maintained alternative and prefer ClosedXML or Open XML SDK for xlsx only", "you need formats beyond Office files like PDF or ODF", "you require very heavy Excel features like full chart rendering"], "when_to_choose": ["you need to read or write Excel/Word files in .NET without COM interop or Office installed", "you need support for both legacy binary (.xls) and OOXML (.xlsx/.docx) formats", "you want a free Apache-2.0 alternative to commercial spreadsheet libraries"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dotnetcore-npoi", "repo": "dotnetcore/NPOI", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.191725+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:06:51.478273+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "113406910f1282f5cae74434b7bf6706b26cfa51e4c975006cc75180fc4e0700", "fetched_at": "2026-08-28T04:05:58.191725+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/NPOI"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3561, "days_push": 2108, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}