Excel Tools

Overview

Provides several smart services and functions for handling data in Excel and CSV formats.

Key Features & Functionality

Smart Services included are:

  • Import CSV to Database
  • Import Excel to Database
  • Merge Excel Documents
  • Load CSV to Database
  • Convert HTML to CSV
  • Convert Excel to CSV
  • Encrypt Excel with Password

Functions included are:

  • Read Excel File Paged
  • Read Excel Cell by Name
  • Read Excel Cell by Number
  • Read Excel By Headers
  • Query Appian Logs
  • Export Datasubset to Base64
  • Validate Document Headers
Anonymous
  • v2.8.2 Release Notes
    • Fixing bugs associated with library dependencies
  • I am trying to use the Excel to CSV converter but get an error: Convert Excel To CSVAn error occurred in executing an Activity Class.

    I specify 1 for Row number ot read from and SHete number. I specify the columns I want to read and for the Excel Document I do a todocument of a DocumentID. In the output I specify a process variable of type Document in which to store AC!CSVDocument.

    Any help would be appreciated! It looks like a similar error to the one below (both talk about InputBuilder issues), albeit for a different utility in the Plugin-in.

    2025-05-20 00:42:05,363 [ThreadPoolTaskExecutor-182065] ERROR com.appiancorp.process.workpoller.WorkItemListener - The following exception occurred while attempting to complete work item [[WorkId: 737, EngineId: execution02, Request: UnattendedJavaActivityRequest:536871033 as roderick.ross@iam-app.co by roderick.ross@iam-app.co, ProcessId: 536889035, ProcessModelId: 1110, Response: null]] - Exception: 
    javax.resource.spi.work.WorkCompletedException: java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:244)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.lang.Thread.run(Thread.java:840)
  • When I try to use the Excel to CSV Smart Service I get "An error occurred in executing an Activity Class.".

    I specifiy the Excel document input using a todocument of the docId that I am uploading. 

    I specify an integer for the number of columns I am reading.

    I specify 1 for the Row Number to Read from and 1 for the Sheet Number.

    In the output I save the CSV output as a process variables of Type Document.

    My std-Out.log trace includes the following.

    Any help would be appreciated.

    2025-05-20 00:42:05,363 [ThreadPoolTaskExecutor-182065] ERROR com.appiancorp.process.workpoller.WorkItemListener - The following exception occurred while attempting to complete work item [[WorkId: 737, EngineId: execution02, Request: UnattendedJavaActivityRequest:536871033 as roderick.ross@iam-app.co by roderick.ross@iam-app.co, ProcessId: 536889035, ProcessModelId: 1110, Response: null]] - Exception: 
    javax.resource.spi.work.WorkCompletedException: java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:244)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.lang.Thread.run(Thread.java:840)
    Caused by: java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
    	at org.apache.poi.util.IOUtils.peekFirstNBytes(IOUtils.java:153)
    	at org.apache.poi.poifs.filesystem.FileMagic.valueOf(FileMagic.java:209)
    	at org.apache.poi.openxml4j.opc.internal.ZipHelper.verifyZipHeader(ZipHelper.java:147)
    	at org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipFile(ZipHelper.java:219)
    	at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:274)
    	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:393)
    	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:364)
    	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:223)
    	at com.github.pjfanning.xlsx.impl.StreamingWorkbookReader.init(StreamingWorkbookReader.java:141)
    	at com.github.pjfanning.xlsx.impl.StreamingWorkbookReader.init(StreamingWorkbookReader.java:107)
    	at com.github.pjfanning.xlsx.StreamingReader$Builder.open(StreamingReader.java:552)
    	at com.appiancorp.ps.exceltools.util.ExcelHelperUtils.convertExcelToCSV(ExcelHelperUtils.java:737)
    	at com.appiancorp.ps.exceltools.smartservice.ConvertExcelToCSV.run(ConvertExcelToCSV.java:57)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:129)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:129)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:123)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:30)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:123)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:110)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:23)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:89)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:72)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ActivityRequest.executeOuter(ActivityRequest.java:41)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:125)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241)
    	... 3 more
    Exception in thread "ThreadPoolTaskExecutor-182065" java.lang.NoSuchMethodError: 'org.apache.commons.io.input.BoundedInputStream$Builder org.apache.commons.io.input.BoundedInputStream.builder()'
    	at org.apache.poi.util.IOUtils.peekFirstNBytes(IOUtils.java:153)
    	at org.apache.poi.poifs.filesystem.FileMagic.valueOf(FileMagic.java:209)
    	at org.apache.poi.openxml4j.opc.internal.ZipHelper.verifyZipHeader(ZipHelper.java:147)
    	at org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipFile(ZipHelper.java:219)
    	at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:274)
    	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:393)
    	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:364)
    	at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:223)
    	at com.github.pjfanning.xlsx.impl.StreamingWorkbookReader.init(StreamingWorkbookReader.java:141)
    	at com.github.pjfanning.xlsx.impl.StreamingWorkbookReader.init(StreamingWorkbookReader.java:107)
    	at com.github.pjfanning.xlsx.StreamingReader$Builder.open(StreamingReader.java:552)
    	at com.appiancorp.ps.exceltools.util.ExcelHelperUtils.convertExcelToCSV(ExcelHelperUtils.java:737)
    	at com.appiancorp.ps.exceltools.smartservice.ConvertExcelToCSV.run(ConvertExcelToCSV.java:57)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:129)
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:129)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:123)
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:30)
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:123)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:110)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:23)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:89)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:72)
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143)
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    	at com.appiancorp.process.engine.ActivityRequest.executeOuter(ActivityRequest.java:41)
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:136)
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:125)
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110)
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    	at java.base/java.lang.Thread.run(Thread.java:840)
    2025-05-20 00:45:18,074 [Timer-6] INFO  com.appiancorp.cache.DatabaseAuxiliaryCache - Removing expired entries from db cache: uiStateLarge-auxiliary

  • Hi, ,

    As other users have commented, since I updated to the latest version, I started getting this error when running the "readexcelsheetpaging" rule.



    This is a very important rule for a client project. Please correct it as soon as possible.

    Best regards!

  • Hi  ,

    After updating this plugin i have the following error...Can you Advise me how to solve?

  • Hi  ,

    After updating this plugin to latest version, it is throwing following error:

    On reverting to previous version, it is working fine.

  • Could you please help us on limitation of Import Excel to Database plugin in terms of Max col and Max row

  • v2.8.1 Release Notes
    • Upgraded log4j-core and poi-ooxml to fix status logger error and vulnerability fix.
  • Hello,

    Was readexcelsheet function replaced by readexcelsheetpaged in the last version of the plugin?

    Thanks in advance.

  • Hello,

    Can we use Import Excel to Database smart service for Confidential-Internal classified excel document?

    Thanks in advance.