Recommended Approaches for Exporting Data to Excel

Appian provides out of the box functionality to export Excel document representations of any data store entity in interfaces, processes, and Web APIs using the Export Data Store Entity to Excel Smart Service. The ability to export an entire record list to Excel is also easily configured with a single checkbox. These out of the box functionalities have several advantages over the existing Excel Tools plugin:

  • Supported by Appian (you get fixes and enhancements with Appian version updates)
  • Batching to reduce application server heap memory consumption
  • Automated timezone conversion to that of the user executing the smart service
  • Increased visibility into Data Store Entity dependencies
  • Knowledge of SQL is not required
  • Ability to more easily generate an Excel export download link in an interface
  • Ability to export record lists to Excel with a single checkbox

We recommend reading the Transferring/Processing Large Data Sets (ETL) play to familiarize yourself with best practices for large data migration and data exporting efforts. 

Alternatives

While we highly recommend using an out of the box solution, the Excel Tools shared plugin is still available in the App Market. Customers may wish to continue using this custom component based upon their use case. The following use cases may merit use of the existing Excel Tools shared plugin:

  • Exporting to a templates that use unsupported Excel formatting
  • Needing to sort the dataset in a specific order when using a smart service
  • More than 50 columns need to be exported
  • Converting HTML to CSV

Note that any use of the Excel Tools custom plugin must be limited to small volumes of data because of performance and memory considerations. If you believe that your application requires any of these functionalities, it may be worth revisiting your requirements to see if there is any way the out of the box functionality can be used to meet your needs. For example, to transform usernames stored in the database to Appian user display names for export, you could use a username/display name mapping table to create a simple view that handles the conversion of the username column for the table you wish to export, then use the out of the box export solution. This is far more efficient in terms of both memory and application server load than querying the data in process, transforming it, then exporting. More importantly, it avoids the possibility of existing Excel Tools Transform CDT to Excel file smart service from affecting the stability and availability of your production environment.