{"ref":"artifact:abap2xlsx-abap2xlsx","page":"/artifacts/abap2xlsx-abap2xlsx","json":"/artifacts/abap2xlsx-abap2xlsx.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap2xlsx-abap2xlsx","name":"abap2xlsx","artifact_type":"package","ecosystem":"abap","domain":"integration-and-messaging","origin_ring":"independent","description":{"one_line":"A library that reads and generates .xlsx Excel workbooks directly from ABAP data, without exporting through a list viewer, installed through [abapGit](artifact:abapgit-abapgit) and tested from SAP_ABA 731.","short":"Library that reads and generates Excel spreadsheets from ABAP","what_it_solves":"Producing an Excel spreadsheet from ABAP without exporting through a list viewer or hand-rolling the file format is a recurring need. abap2xlsx builds and reads .xlsx workbooks directly from ABAP data, distributed as a package installed through [abapGit](artifact:abapgit-abapgit), with a separate repository of demo programs. The minimum tested version is SAP_ABA 731; older releases might work but have not been tested."},"links":{"repo":"https://github.com/abap2xlsx/abap2xlsx","homepage":"https://abap2xlsx.github.io/abap2xlsx/"},"type_properties":{"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/abap2xlsx/abap2xlsx","title":"abap2xlsx — README","checked":"2026-10-18","quote":"Please refer to the official wiki for the [abapGit installation guide](https://abap2xlsx.github.io/abap2xlsx/abapGit-installation)."}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"provides":[{"capability":"capability:document-output","what_it_does":"Builds and reads Excel .xlsx workbooks from ABAP data, distributed as an [abapGit](artifact:abapgit-abapgit) package with a separate demo-programs repository.","sources":[{"url":"https://github.com/abap2xlsx/abap2xlsx","title":"abap2xlsx/abap2xlsx — README","checked":"2026-09-14","quote":"Generate your professional Excel spreadsheet from ABAP"}]}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"drafted_with_ai":true,"maintainers":["actor:abap2xlsx"],"contributors":["actor:aditya-deloitte","actor:alexandreht","actor:alsp80","actor:andreaborgia-abo","actor:antonsikidin","actor:aspeitkamp","actor:atomkrieg","actor:attilaberencsi","actor:berreke","actor:bhavesh4321","actor:bigld","actor:bilencekic","actor:bitdeli-chef","actor:bohrh","actor:boy0korea","actor:chrassig","actor:chrisaasan","actor:christianguenter2","actor:cril2000","actor:d-schaaf","actor:darnoc312","actor:dwivedirahul44","actor:ennowulff","actor:fidley","actor:foxahead","actor:gh14cc10","actor:gregorwolf","actor:guillaumegarcia13","actor:hannesrempel","actor:hardyp","actor:hupricht","actor:ibnbr","actor:ivanfemia","actor:jitsuryoku","actor:jrodriguez-rc","actor:juancarlosrodriguezf","actor:juvickaul","actor:kjetil-kilhavn","actor:larshp","actor:larsip","actor:mch123","actor:mfallen","actor:mlaggner","actor:muten86","actor:mutherma","actor:oberhm","actor:oliver-huetkoeper","actor:pacojkaa","actor:paladv","actor:pksingh78","actor:pokrakam","actor:psio3123","actor:redhawk07","actor:redwolf112","actor:rixarsap","actor:rplantiko","actor:sandraros","actor:schmelto","actor:sephrat","actor:srps","actor:stefanrutzmoser","actor:stefanschmoecker","actor:stefanschnell","actor:striezl","actor:tburyanek","actor:tmackowski","actor:wegnerdan"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"67 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-04, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":"SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"poor","evidence":"unit failure, 2026-10-21"}],"practice":[{"label":"Tests","tier":"good","evidence":"4 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 9 pages, README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":881,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":881,"forks":318,"open_issues":151,"archived":false,"pushed_at":"2026-04-20","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2013-12-26T18:09:03Z","open_prs":24,"tree_truncated":false,"test_files":4,"workflows":1,"other_ci":false,"readme_bytes":925,"docs_files":9,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2010-08-20","last_commit":"2026-04-20","commits":1009,"contributors":67,"readme_path":"README.md","readme_sha":"4b9fb62b0cc0a6f21027936aedbf4208a16de649","repo_read":"2026-10-24","ci_status":"failure","ci_run_at":"2026-10-21","ci_workflow":"unit","ci_event":"pull_request","abap_syntax":{"repo":"abap2xlsx/abap2xlsx","file":"abaplint.json","url":"https://github.com/abap2xlsx/abap2xlsx/blob/HEAD/abaplint.json","version":"v702","floor":"702","checked":"2026-10-26"}},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/abap2xlsx/abap2xlsx/releases"},"format":"github-releases","releases":[{"version":"7.16.0","date":"2022-08-13","date_source":"github","heading":"7.16.0","url":"https://github.com/abap2xlsx/abap2xlsx/releases/tag/v7.16.0","sections":[],"hash":"d4b6f74c7f6d1557"},{"version":"7.15.0","date":"2022-01-15","date_source":"github","heading":"7.15.0","url":"https://github.com/abap2xlsx/abap2xlsx/releases/tag/v7.15.0","sections":[],"hash":"a4f28a66c0278668"},{"version":"7.14.0","date":"2021-12-03","date_source":"github","heading":"7.14.0","url":"https://github.com/abap2xlsx/abap2xlsx/releases/tag/v7.14.0","sections":[],"hash":"43cf10299b05204c"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:abap2xlsx","name":"abap2xlsx","json":"/actors/abap2xlsx.json"}],"contributors":[{"ref":"actor:andreaborgia-abo","name":"Abo","json":"/actors/andreaborgia-abo.json"},{"ref":"actor:aditya-deloitte","name":"Aditya Waghmare","json":"/actors/aditya-deloitte.json"},{"ref":"actor:gh14cc10","name":"Alessandro Iannacci","json":"/actors/gh14cc10.json"},{"ref":"actor:alexandreht","name":"AlexandreHT","json":"/actors/alexandreht.json"},{"ref":"actor:alsp80","name":"alsp80","json":"/actors/alsp80.json"},{"ref":"actor:antonsikidin","name":"AntonSikidin","json":"/actors/antonsikidin.json"},{"ref":"actor:aspeitkamp","name":"Arno","json":"/actors/aspeitkamp.json"},{"ref":"actor:atomkrieg","name":"AtomKrieg","json":"/actors/atomkrieg.json"},{"ref":"actor:attilaberencsi","name":"Attila Berencsi","json":"/actors/attilaberencsi.json"},{"ref":"actor:darnoc312","name":"Bernd","json":"/actors/darnoc312.json"},{"ref":"actor:striezl","name":"Bernhard Haberstetter","json":"/actors/striezl.json"},{"ref":"actor:berreke","name":"Berreke","json":"/actors/berreke.json"},{"ref":"actor:bhavesh4321","name":"bhavesh4321","json":"/actors/bhavesh4321.json"},{"ref":"actor:cril2000","name":"Big Muzzy","json":"/actors/cril2000.json"},{"ref":"actor:bilencekic","name":"Bilen","json":"/actors/bilencekic.json"},{"ref":"actor:bitdeli-chef","name":"Bitdeli Chef","json":"/actors/bitdeli-chef.json"},{"ref":"actor:bohrh","name":"bohrh","json":"/actors/bohrh.json"},{"ref":"actor:chrisaasan","name":"Christian Aasan","json":"/actors/chrisaasan.json"},{"ref":"actor:chrassig","name":"Christian Assig","json":"/actors/chrassig.json"},{"ref":"actor:christianguenter2","name":"Christian Günter","json":"/actors/christianguenter2.json"},{"ref":"actor:wegnerdan","name":"Daniel Wegner","json":"/actors/wegnerdan.json"},{"ref":"actor:muten86","name":"DaRa","json":"/actors/muten86.json"},{"ref":"actor:d-schaaf","name":"Dennis Schaaf","json":"/actors/d-schaaf.json"},{"ref":"actor:boy0korea","name":"Derby","json":"/actors/boy0korea.json"},{"ref":"actor:bigld","name":"Domi Bigl","json":"/actors/bigld.json"},{"ref":"actor:ennowulff","name":"Enno","json":"/actors/ennowulff.json"},{"ref":"actor:foxahead","name":"FoxAhead","json":"/actors/foxahead.json"},{"ref":"actor:guillaumegarcia13","name":"GARCIA Guillaume","json":"/actors/guillaumegarcia13.json"},{"ref":"actor:gregorwolf","name":"Gregor Wolf","json":"/actors/gregorwolf.json"},{"ref":"actor:hannesrempel","name":"Hannes Rempel","json":"/actors/hannesrempel.json"},{"ref":"actor:hupricht","name":"HuprichTo","json":"/actors/hupricht.json"},{"ref":"actor:ibnbr","name":"Italo N.","json":"/actors/ibnbr.json"},{"ref":"actor:ivanfemia","name":"Ivan","json":"/actors/ivanfemia.json"},{"ref":"actor:jrodriguez-rc","name":"Jaime Rodriguez Capote","json":"/actors/jrodriguez-rc.json"},{"ref":"actor:jitsuryoku","name":"Jitsuryoku","json":"/actors/jitsuryoku.json"},{"ref":"actor:juancarlosrodriguezf","name":"juancarlosrodriguezf","json":"/actors/juancarlosrodriguezf.json"},{"ref":"actor:juvickaul","name":"JuvickAul","json":"/actors/juvickaul.json"},{"ref":"actor:kjetil-kilhavn","name":"Kjetil Kilhavn","json":"/actors/kjetil-kilhavn.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:larsip","name":"larsip","json":"/actors/larsip.json"},{"ref":"actor:fidley","name":"Łukasz Pęgiel","json":"/actors/fidley.json"},{"ref":"actor:mlaggner","name":"Manuel Laggner","json":"/actors/mlaggner.json"},{"ref":"actor:oberhm","name":"Matthias","json":"/actors/oberhm.json"},{"ref":"actor:mch123","name":"MCH123","json":"/actors/mch123.json"},{"ref":"actor:mfallen","name":"mfallen","json":"/actors/mfallen.json"},{"ref":"actor:pokrakam","name":"Mike Pokraka","json":"/actors/pokrakam.json"},{"ref":"actor:mutherma","name":"mutHERMA","json":"/actors/mutherma.json"},{"ref":"actor:oliver-huetkoeper","name":"Oliver Hütköper","json":"/actors/oliver-huetkoeper.json"},{"ref":"actor:pacojkaa","name":"pacojkaa","json":"/actors/pacojkaa.json"},{"ref":"actor:paladv","name":"paladv","json":"/actors/paladv.json"},{"ref":"actor:redwolf112","name":"Pascal Möller","json":"/actors/redwolf112.json"},{"ref":"actor:hardyp","name":"Paul Hardy","json":"/actors/hardyp.json"},{"ref":"actor:pksingh78","name":"pksingh78","json":"/actors/pksingh78.json"},{"ref":"actor:psio3123","name":"psio3123","json":"/actors/psio3123.json"},{"ref":"actor:dwivedirahul44","name":"Rahul Dwivedi","json":"/actors/dwivedirahul44.json"},{"ref":"actor:rixarsap","name":"RixarSAP","json":"/actors/rixarsap.json"},{"ref":"actor:rplantiko","name":"Rüdiger Plantiko","json":"/actors/rplantiko.json"},{"ref":"actor:sandraros","name":"sandraros","json":"/actors/sandraros.json"},{"ref":"actor:sephrat","name":"sephrat","json":"/actors/sephrat.json"},{"ref":"actor:srps","name":"Sérgio Pereira da Silva","json":"/actors/srps.json"},{"ref":"actor:redhawk07","name":"Stefan Rutzmoser","json":"/actors/redhawk07.json"},{"ref":"actor:stefanrutzmoser","name":"Stefan Rutzmoser","json":"/actors/stefanrutzmoser.json"},{"ref":"actor:stefanschmoecker","name":"Stefan Schmöcker","json":"/actors/stefanschmoecker.json"},{"ref":"actor:stefanschnell","name":"stefanschnell","json":"/actors/stefanschnell.json"},{"ref":"actor:tmackowski","name":"tmackowski","json":"/actors/tmackowski.json"},{"ref":"actor:schmelto","name":"Tom Schmelzer","json":"/actors/schmelto.json"},{"ref":"actor:tburyanek","name":"Tomas","json":"/actors/tburyanek.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:abap2ui5-addons-open-source-libs","name":"abap2UI5-addons/open-source-libs","json":"/artifacts/abap2ui5-addons-open-source-libs.json","requirement":"conditional","role":"demonstrated-library","condition":"the `src/02` sample, `z2ui5_cl_osl_abap2xlsx`, is installed and run"},{"ref":"artifact:abap2ui5-addons-table-content-loader","name":"abap2UI5-addons/table-content-loader","json":"/artifacts/abap2ui5-addons-table-content-loader.json","requirement":"required","role":"xlsx-file-io"},{"ref":"artifact:boy0korea-abap2xlsx-helper","name":"boy0korea/ABAP2XLSX_HELPER","json":"/artifacts/boy0korea-abap2xlsx-helper.json","requirement":"required","role":"library"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}