Export to Excel

Certified Senior Developer

I have a grid that has been populated by a map in a local variable and I would like to export that data to an excel file. The data isn't in a record, so I can't set showExportButton to true. It isn't in a datastore entity, so I can't use exportDataStoreEntityToExcel, and it isn't a process report so exportProcessReportToExcel is out. Is there any other way to export this grid's data (or I suppose just the local variable itself)? 

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    Assuming you can map the data to an existing (or new) CDT, you could pass the data into a process and utilize the Export CDT to Excel node from the Excel Tools plug-in, which in spite of being (officially) Deprecated, still works, and does not yet have any functionally sufficient replacement available.

  • 0
    Certified Senior Developer
    in reply to Mike Schmitt

    I don't suppose you have any tips on how to use that node? I keep getting "An error occurred in executing an Activity Class." when I run it. I clearly don't know what I am doing when it comes to configuring it and the error message isn't helping me out much. 

  • 0
    Certified Lead Developer
    in reply to Marco

    That's a generic error message, so no real clues without more details - but if you haven't already, check the tomcat.stdout log file and see if more detail is provided there.

  • 0
    Certified Senior Developer
    in reply to Mike Schmitt

    I guess a value is missing somewhere, but I'm not sure where: 

    2022-02-24 21:03:00,714 [Appian Work Item - 14961 - execution00 : UnattendedJavaActivityRequest] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=3687, classname=com.appiancorp.ps.exceltools.smartservice.export.ExportCdtToExcelv2
    java.lang.NullPointerException
    	at com.appiancorp.ps.exceltools.smartservice.export.ExportCdtToExcelv2.run(ExportCdtToExcelv2.java:269)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:116)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:124)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:94)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:239)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:748)