Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

Error while converting xlsx stream to Workbook while migrating from AEM 6.3 to 6.4

Avatar

Avatar
Validate 1
Level 2
debasis-swain
Level 2

Likes

12 likes

Total Posts

23 posts

Correct Reply

2 solutions
Top badges earned
Validate 1
Ignite 1
Give Back
Boost 5
Boost 3
View profile

Avatar
Validate 1
Level 2
debasis-swain
Level 2

Likes

12 likes

Total Posts

23 posts

Correct Reply

2 solutions
Top badges earned
Validate 1
Ignite 1
Give Back
Boost 5
Boost 3
View profile
debasis-swain
Level 2

03-05-2019

Hi Team,

Recently I moved my project base from AEM6.3 to 6.4. While doing the sanity testing I found that the application is throwing error while converting the xlsx filestream to Apache POI Workbook object.

Below is the code.

It's working in AEM6.3 but not in AEM6.4

Resource fileResource = resourceResolver.getResource(path);

            Asset asset = null;

            asset = fileResource.adaptTo(Asset.class);

            InputStream fileStream = asset.getOriginal().getStream();

Workbook excelWorkBook = new XSSFWorkbook(fileStream );

In POM I am using the "com.adobe.granite.poi" dependency.

Below is the error that I am getting.

org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException

                at org.apache.poi.POIXMLFactory.createDocumentPart(POIXMLFactory.java:63) [com.adobe.granite.poi:2.0.24]

                at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:604) [com.adobe.granite.poi:2.0.24]

                at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:186) [com.adobe.granite.poi:2.0.24]

                at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:296) [com.adobe.granite.poi:2.0.24]

                ...

Caused by: java.lang.reflect.InvocationTargetException: null

                at sun.reflect.GeneratedConstructorAccessor142.newInstance(Unknown Source)

                at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

                at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

                at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:56) [com.adobe.granite.poi:2.0.24]

                at org.apache.poi.POIXMLFactory.createDocumentPart(POIXMLFactory.java:60) [com.adobe.granite.poi:2.0.24]

                ... 141 common frames omitted

Caused by: java.lang.ClassCastException: org.apache.xmlbeans.impl.schema.SchemaTypeImpl cannot be cast to org.apache.xmlbeans.impl.values.TypeStoreUserFactory

                at org.apache.xmlbeans.impl.store.Xobj.setStableType(Xobj.java:1402

                at org.apache.xmlbeans.impl.store.Cur.setType(Cur.java:2500)

                at org.apache.xmlbeans.impl.store.Cur.setType(Cur.java:2485)

                at org.apache.xmlbeans.impl.store.Locale.autoTypeDocument(Locale.java:358)

                at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1390)

                at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1369)

                at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:370)

                at org.apache.poi.POIXMLTypeLoader.parse(POIXMLTypeLoader.java:144) [com.adobe.granite.poi:2.0.24]

                at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source) [com.adobe.granite.poi:2.0.24]

                at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:84) [com.adobe.granite.poi:2.0.24]

                ... 146 common frames omitted

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Establish
Community Manager
kautuk_sahni
Community Manager

Likes

1,168 likes

Total Posts

6,294 posts

Correct Reply

1,144 solutions
Top badges earned
Establish
Coach
Originator
Contributor 2
Contributor
View profile

Avatar
Establish
Community Manager
kautuk_sahni
Community Manager

Likes

1,168 likes

Total Posts

6,294 posts

Correct Reply

1,144 solutions
Top badges earned
Establish
Coach
Originator
Contributor 2
Contributor
View profile
kautuk_sahni
Community Manager

02-06-2020

Answerd by debasiss6552584

 

Finally I got the root cause of the issue.

The issue was due to a wrong xmlbean dependency being added as part of com.adobe.granite.poi. The correct version of com.adobe.granite.poi should be 2.0.24 when you check in the http://localhost:4502/system/console/depfinder and search for org.apache.xmlbeans.This is happening when I upload AEM forms service package.

 

Now without the AEM forms service package I am able to successfully execute the xlxs reading .

 

Thanks all of you for pitching in.

Answers (0)