{"adoption": {"forks": 2036, "observed_at": "2026-08-28T04:11:09.861946+00:00", "stars": 15449}, "canonical_url": "https://ross.abutalabs.com/products/exceljs", "card": {"archived": false, "artifact_type": "library", "description": "Excel Workbook Manager", "domain": ["files", "spreadsheets", "developer-tools"], "enriched": true, "function": ["serialization", "file-system", "csv"], "health_score": 25, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["exceljs/exceljs"], "name": "exceljs/exceljs", "platform": ["cross-platform"], "pushed_at": "2025-01-21T16:00:46+00:00", "repo": "exceljs/exceljs", "stars": 15449, "tags": ["xlsx", "excel", "spreadsheet", "workbook", "streaming", "nodejs"], "topics": ["hacktoberfest", "xlsx", "xlsxwriter", "xlsxreader", "workbook", "worksheet", "csv", "streaming-workbook", "exceljs", "xlsx-workbook", "workbook-writer"], "urls": [], "use_cases": ["generate xlsx reports from data in node", "parse excel spreadsheets into", "export database rows to an excel workbook with styling", "read and modify existing xlsx files programmatically", "stream large excel workbooks without loading everything in memory", "convert csv to xlsx and back"], "what_it_is": "ExcelJS is a Node.js library for reading, manipulating, and writing Excel XLSX workbooks and JSON, including styles, streaming, and CSV support. It is reverse-engineered from Excel spreadsheet file formats and works in both browser and Node environments.", "when_to_avoid": ["you only need simple CSV parsing without Excel formatting", "you need to render or display spreadsheets in a UI rather than manipulate files", "you work with legacy .xls binary formats, which are not supported"], "when_to_choose": ["you need rich Excel features like styles, conditional formatting, tables, and pivot tables in JavaScript", "you need streaming read/write for large workbooks", "you want a mature, widely used MIT-licensed spreadsheet library for Node.js"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/exceljs", "repo": "exceljs/exceljs", "role": "main", "score": 24}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "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:11:09.861946+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.861946+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:05:51.034919+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06276188a9ae7b7cf259eec399dae9d110e93ed739ec544dd1ad35ce5192a398", "fetched_at": "2026-08-28T04:11:09.861946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/exceljs/exceljs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 2, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4285, "days_push": 589, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 24, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}