Importing and exporting table data

Getting a file somebody supplies, a spreadsheet, a CSV or a JSON dump, into tables with its columns mapped and its values checked, and getting table content back out as a file. Data shipped with an application for development and demonstration is seed data.

Overview

InABAPassessed
SAP SHIPS

XCO_CP_XLSX reads and writes XLSX content held as an xstring, and CL_CSV_FACTORY creates writers that turn internal table content into CSV; both are among SAP's released ABAP classes.

Not covered: At converting content. Getting the file from a user, mapping its columns onto a target structure and checking values before they are written are left to the application; SAP's own example uploads through a generated Fiori elements preview.

SAP-samples repositories demonstrate the concern, a JSON uploader for SAP BTP ABAP Environment and an ALV export to Google Sheets; samples are not counted as providers. The community tools differ in where the file is handled: ABAP Spreadsheet Importer parses an uploaded XLSX or CSV file in the backend and creates its rows on a RAP business object, and abap2UI5 for Excel moves table data between an abap2UI5 app and the open workbook without a file. How these tools relate to the XCO classes has not been assessed.

InUI5assessed
SAP SHIPS

sap/ui/export/Spreadsheet exports tabular data to an XLSX document, with the configuration preset for sap.ui.comp.smarttable.SmartTable and sap.ui.mdc.Table.

Not covered: At export. The spreadsheet export documentation describes no import, so reading a spreadsheet a user uploads is left to the application.

Whether the UI5 export API and the community import components were built to meet has not been assessed; they answer opposite halves of the concern.

SourceSAP-docs/sapui5: Spreadsheet Exportchecked
THE COMMUNITY ADDS

The import side, in the browser: a dialog reads the uploaded file and submits its rows through the app's own OData model, so the service the app already talks to decides what is written.

InCAPassessed
SAP SHIPS

No core answer is documented.

CSV files in a project are loaded into the database when it is deployed, which is seed data rather than a file a user supplies to a running service; capire's database guide documents no runtime import of an uploaded file, so no core answer has been found for this concern in CAP.

THE COMMUNITY ADDS

The import side, as a service endpoint: a spreadsheet is uploaded to a running CAP service, parsed on the server and written into the CDS entity named in the request.

Licence1

LicenceSAP Developer License Agreement 3.2 CAP§ 1AlwaysA covered CAP application exports SAP product data into a non-SAP product, especially systematically or at scale.
  • § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.

The export side can become the data-extraction case named in section 1. File format alone does not decide it; destination, scale and the scoped interoperability purpose matter.

SAP Developer License Agreement 3.2 CAP →

Artifacts9

Group by9 of 9 artifacts
ArtifactSignals
Apps3
abap2UI5 for ExcelOffice add-in running an abap2UI5 app in Excel's task pane
Signals
none
abap2UI5-addons/table-content-loaderUpload, edit and download ABAP table content as JSON, CSV or XLSX
Signals
Functional boundary
boy0korea/abap2jsonExports and imports ABAP table content as zipped JSON
Signals
none
CDS plugins1
cds-spreadsheetimporter-pluginSpreadsheet upload into a CDS entity, parsed on the server
Signals
Use terms
Packages5
ABAP Spreadsheet ImporterABAP component importing XLSX or CSV files into RAP business objects
Signals
none
abapDataToTableImportMaps clipboard, Excel or text data onto a declared ABAP structure
Signals
none
boy0korea/ABAP2XLSX_HELPERHelper methods over abap2xlsx for Excel, JSON and tables
Signals
none
mkysoft/xlsxreaderReader for Excel spreadsheets in OpenXML format from ABAP
Signals
Quiet
ui5-cc-spreadsheetimporterUI5 component adding a spreadsheet upload dialog to Fiori apps
Signals
none

Content1

Group by
Piece, what it offers
How to mass upload from a spreadsheet file into an SAP Fiori app in SAP BTP ABAP Environment Part 1
SAP Community, DebrajManna87, part 1 of 2, Blog

Seen working8

ArtifactSignals
Samples8
abap-file-uploaderSample uploading a JSON file into an ABAP table on BTP ABAP
none
SAP-samples/abap-alv-google-upload-sheetSample exporting SAP GUI ALV grid data to Google Drive
Functional boundary
spreadsheetimporter/packed-deployment-abapUI5 app template deploying the Spreadsheet Importer once to ABAP
none
spreadsheetimporter/sample-adaptation-banksAdaptation project adding spreadsheet upload to Manage Banks
No license
spreadsheetimporter/sample-adaptation-banks-updateManage Banks adaptation updating existing records from a spreadsheet
No license
spreadsheetimporter/sample-full-btpCAP Risks and Mitigations project with a Spreadsheet Upload button
none
spreadsheetimporter/sample-odata-api-uploadUI5 app opening the Spreadsheet Importer on on-premise OData services
none
spreadsheetimporter/sample-standaloneUI5 app opening the Spreadsheet Importer on its own
No license

Details

Coverage
statecore and community, ABAP
assessed
state in UI5core and community, assessed
state in CAPcommunity only, assessed
relationshipunassessed
also inUI5, CAP
For your agent
Ref
capability:data-import-export
JSON
/capabilities/data-import-export.json
MCP
Connecting an agent