Thursday, 22 August 2013

Creating a custom Excel Service for Adobe Experience Manager

While helping answer forums for Adobe Experience Manager, an AEM user asked how to create a CQ service that is able to import an Excel spreadsheet, read the data from the excel spreadsheet, and update the AEM Java Content Repository (JCR) with data read from the spreadsheet. While this is not an out-of-the-box feature, it does not mean that Adobe CQ cannot perform this use case. One of the most powerful features of AEM is the ability to develop custom services.

You can create a custom AEM service that  accepts an Excel spreadsheet, reads the data within the spreadsheet, and writes the data to the AEM JCR. For example, consider the following spreadsheet that contains customer data. Once you upload this file to AEM, the custom service reads the customer data and persists the data in the AEM JCR.

An Excel Spreadsheet that contains customer data

This development article walks you through how to create a custom AEM service that accepts a spreadsheet, reads the data and updates the AEM JCR with the data. To read this development article, click:


Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner

I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.

TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel


  1. I am not sure why you don't use the Apache POI that is included in Adobe Granite and already part of the AEM?

  2. For this use case -- i preferred the Java Excel API. To use this API - all you have to do is an extra step of placing it within a bundle fragment as discussed in the article. Good question however.

  3. Any inputs on below Use Case: node properties and create an excel file under /content/dam. the created excel file.