New Features for the UI5 Excel Upload Component
It's been over half a year since I introduced the UI5 Excel Upload Component. Since then, much has evolved and I've received valuable feedback. Thank you for that.
I occasionally wrote blog posts about certain features. These delve into the technical aspects, such as the construction of the open-source project with
version namespaces and the t
esting set up with wdi5. New features were promoted for
standalone mode and
integration of the component with standard apps.
To summarize all the changes of the last months I write down everything here.
Live Demo
One of the most important new features is the possibility to immediately try out the Excel upload for yourself in a live demo.
The data is reset every full hour.
Go To:
https://livedemo.spreadsheet-importer.com/
New Features
Looking at the
changelog, a lot has happened since February. I'd like to highlight some of the major changes:
Renaming: The UI5 Excel Upload Component has been renamed from version "0.21.0" to Spreadsheet Importer. The old npm packages are deprecated.
You can find the new package here:
https://www.npmjs.com/package/ui5-cc-spreadsheetimporter
Batch Size Adjustment: Especially for large data sets, it's logical to adjust the batch sizes to prevent browser and system overload. By default, 1,000 queries are packed in a single $batch call sent to the system. It's also possible to disable this batching and continue sending all queries in one batch request. A progress indicator is now shown for large datasets. For instance, I ran a performance test with a CAP system and created 10,000 rows in 1.5 minutes with a remote system.
More info about the performance test in the
documentation.
More info in the
documentation about the "batchSize" Parameter.
Support for OpenUI5: The component can now be used not only for SAPUI5 versions but also for OpenUI5. An
example application with OData V2 is provided.
New Translations: Apart from German and English, machine-translated texts have been added in French, Spanish, Italian, Hindi, Japanese, and Simplified Chinese.
You can find all the translated i18n files
here. Feel free to open a Pull Request or Issue if you find errors here.
Standalone Mode: As explained in
the blog, this mode enables data uploading directly to UI5 without automatically creating objects, offering flexibility in data handling.
A sample app to show this features is
here.
In the documentation the info about this is
here.
Data Preview: Users can now view the uploaded data before sending it to the backend. You can also turn the feature off (see
documentation).
Mandatory Field Checks: There's an annotation (
@mandatory) to designate fields as mandatory. The UI5 Spreadsheet Importer now also validates these if the field is provided.
It is also possible to turn the off with "
skipMandatoryFieldCheck"
Customizable Options for Users: There are many configurations that developers can adjust. Some options are now user-adjustable too.
More Info in the
documentation.
Error Dialog Improvement: An enhanced error dialog lists errors found on the frontend that would cause issues on the backend. It informs users about the exact row and column of the error and how to fix it.
Custom Sample Data: A template file, generated from the metadata of the OData Service, is used for the upload. Users can now insert their data into this template.
More Information in the
Documentation.
A sample can look like this:
sampleData: [
{
product_ID: "HT-1000",
quantity: 1,
title: "Notebook Basic 15",
price: 956,
validFrom: new Date(),
timestamp: new Date(),
date: new Date(),
time: new Date(),
boolean: true,
decimal: "1.1"
}
]
Typescript Support: Thanks to the support and effort of the UI5 team, users can easily use types from the component. An example application and documentation have been created as reference.
More Information in the
Documentation.
Table Selector: The component fundamentally relies on a table to determine the exact services and binding in use. When integrated into a view, the component checks for an existing table. If multiple tables exist in the view, they must be precisely specified by the Table ID. As an alternative, the Table Selector can now be used. This requires just a button, allowing the user to choose which table they wish to upload data into.
Future Plans
More features are under development, and hopefully, version 1.0 will be released this year. However, the primary focus is on a Pro version offering more features and priority support.
An overview of features for both the Pro and Open Source versions is available
here.
- Additions to the Pro version include:
Update and Delete with Excel files
- Deep Create (creation of data sets with sub-entities)
- Deep Download (downloading of data sets with sub-entities)
For more information, visit the
Spreadsheet Importer website or the
LinkedIn page.
Feedback
Given the various scenarios for the Spreadsheet Importer, I warmly welcome feedback in any form, preferably on
GitHub. I am open to all feedback and suggestions for new features.
More Information:
I did a talk about the Component at this years UI5con.
It´s available on YouTube:
https://www.youtube.com/watch?v=1SKNcaxdoXg
More Blogs about the Spreadsheet Importer: