{"adoption": {"forks": 3627, "observed_at": "2026-08-28T04:11:05.255946+00:00", "stars": 13980}, "canonical_url": "https://ross.abutalabs.com/products/phpspreadsheet", "card": {"archived": false, "artifact_type": "library", "description": "A pure PHP library for reading and writing spreadsheet files", "domain": ["spreadsheets", "files", "web-development", "developer-tools"], "enriched": true, "function": ["serialization", "file-system", "csv", "pdf"], "health_score": 99, "homepage": "https://phpspreadsheet.readthedocs.io", "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["PHPOffice/PhpSpreadsheet", "PHPOffice/PHPExcel"], "name": "PhpSpreadsheet", "platform": ["php", "cross-platform"], "pushed_at": "2026-08-22T05:04:56+00:00", "repo": "PHPOffice/PhpSpreadsheet", "stars": 13980, "tags": ["excel", "xlsx", "ods", "xls", "spreadsheet", "libreoffice", "gnumeric", "sylk", "phpexcel"], "topics": ["php", "spreadsheet", "excel", "libreoffice", "xlsx", "ods", "xls", "phpexcel", "sylk", "office", "msexcel", "gnumeric", "hacktoberfest"], "urls": [{"kind": "homepage", "url": "https://phpspreadsheet.readthedocs.io"}], "use_cases": ["generate Excel xlsx reports from PHP", "read and parse uploaded xlsx files", "convert CSV to Excel format", "export data to ODS or PDF spreadsheets", "manipulate spreadsheet cells, formulas, and styles in PHP", "import Excel data into a database"], "what_it_is": "PhpSpreadsheet is a pure PHP library providing classes to read and write spreadsheet files in formats such as Excel (.xlsx, .xls), LibreOffice Calc (.ods), CSV, Gnumeric, SYLK, and PDF. It is the successor to PHPExcel and supports formulas, styling, and cell manipulation across formats.", "when_to_avoid": ["you work outside PHP", "you only need lightweight CSV handling (use a simple CSV parser)", "you need extremely fast streaming of very large spreadsheets with minimal memory", "you need to render complex native Excel charts or pivot tables"], "when_to_choose": ["you need to read or write Excel, ODS, or CSV files from PHP without external office software", "you need formula evaluation, styling, or multi-format spreadsheet support", "you are migrating from the deprecated PHPExcel library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/PHPOffice/PhpSpreadsheet", "repo": "PHPOffice/PhpSpreadsheet", "role": "main", "score": 93}, {"path": "/repos/PHPOffice/PHPExcel", "repo": "PHPOffice/PHPExcel", "role": "mirror", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "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:05.255946+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:05.255946+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:12:54.048030+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21cc8d50df89b75cd906d3250174ff7877302fa81b7b60efd331d4a2ebf2c673", "fetched_at": "2026-08-28T04:11:05.255946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PHPOffice/PhpSpreadsheet"}, {"content_hash": "9fd6aa48889fedefb18d29303626a2ce40057b654661ab2661496b4d26753045", "fetched_at": "2026-08-29T08:06:49.549464+00:00", "kind": "homepage", "missing": false, "url": "https://phpspreadsheet.readthedocs.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3727, "days_push": 11, "days_rel": 52, "gap_med": 0.0, "n_releases_24m": 89}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}