<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/discussions/f/user-interface/39643/upload-and-analyze-a-file-in-a-user-input-task</link><description>Hi everyone, 
 Im using an User Input Task with a!fileUploadField. What I need is to verify that the Excel uploaded does not contain mor than 500 rows so the user cannot submit the form. But as the file is temporary I cannot access to its information</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/154342?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2026 11:36:42 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:2b8252c5-1b80-4d6f-ae74-39e6c93f549e</guid><dc:creator>Rajarajeswari</dc:creator><description>&lt;p&gt;I am getting error &amp;quot;Document with Id does not exist&amp;quot; when using previewcsvforimport().&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1776684933315v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/154341?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2026 09:53:20 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:69213c91-18c2-4e53-bb17-a02ca1a0a531</guid><dc:creator>Harsha Sharma</dc:creator><description>&lt;div class="content full threaded-reply-content user-defined-markup" data-replyid="153730" data-userid="258106" data-permalink="~/discussions/f/general/40224/how-to-check-is-csv-file-is-corrupted-or-not/153730"&gt;
&lt;div class="content"&gt;
&lt;p&gt;Try the function&amp;nbsp;previewcsvforimport() available in Excel Tools plugin to read the csv file as an alternate to&amp;nbsp;readexcelsheetpaging() for excel.&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/154339?ContentTypeID=1</link><pubDate>Mon, 20 Apr 2026 07:29:40 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b7b49ef5-29f7-43d8-a904-7645a65c0d3f</guid><dc:creator>Rajarajeswari</dc:creator><description>&lt;p&gt;I have a similar requirement as Shubham, except mine is a CSV file. The approach by Harsha works for an excel file but not for csv file. Any idea how to implement this for an CSV file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/151144?ContentTypeID=1</link><pubDate>Tue, 26 Aug 2025 13:46:43 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:da5d3915-0e05-49e4-9897-95b4da57b0a2</guid><dc:creator>Shubham Aware</dc:creator><description>&lt;p&gt;Correct!&lt;br /&gt;Thanks Harsha.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/151143?ContentTypeID=1</link><pubDate>Tue, 26 Aug 2025 12:14:20 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:8d76cc6b-99c3-4daa-8b87-d71b6704740e</guid><dc:creator>Harsha Sharma</dc:creator><description>&lt;p&gt;Actually, In recent Appian versions reading data is possible before submission.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/151142?ContentTypeID=1</link><pubDate>Tue, 26 Aug 2025 12:12:01 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:48bd9554-1982-41b1-82f1-3f6ab7aef6ad</guid><dc:creator>Harsha Sharma</dc:creator><description>&lt;p&gt;Whether you are using folder stored documents or record managed ones you can read the data in the saveInto of the fileUpload component and using that validate the data.&amp;nbsp;Here is a code you can refer which uses readexcelsheetpaging() which comes as part of Excel Tools plugin.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;a!localVariables(
  local!dataLength,
  {
  a!fileUploadField(
    label: &amp;quot;Docs&amp;quot;,
    target: cons!HSS_DOCUMENTS_TARGET,
    maxSelections: 1,
    saveInto: {ri!doc,
    a!save(
      local!dataLength,
      readexcelsheetpaging(
       ri!doc,
        0,
        a!pagingInfo(1, 50)
      ).totalCount
    )},
    instructions: ri!doc,
    validations: if(local!dataLength&amp;gt;20,&amp;quot;Maximum 20 rows are allowed&amp;quot;,&amp;quot;&amp;quot;),
    value: ri!doc
  )})&lt;/pre&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/13/pastedimage1756210135540v3.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;P.S My code is written &amp;amp; tested in Appian v25.2 &amp;amp; v25.3. Check if it works for you depending on the version you are working on! Let me know how it goes.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/151140?ContentTypeID=1</link><pubDate>Tue, 26 Aug 2025 10:58:53 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:d1b5f4c7-878b-4249-b813-3ec1d9a8bad0</guid><dc:creator>Shubham Aware</dc:creator><description>&lt;p&gt;You can only access file metadata (name, size, extension) through fv! variables before submission, not the actual file content. You still need to submit the file first to read Excel rows and validate the data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/151137?ContentTypeID=1</link><pubDate>Tue, 26 Aug 2025 10:39:31 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:7f0095f1-d335-4d7a-99cf-01f6fcdc724e</guid><dc:creator>Stefan Helzle</dc:creator><description>&lt;p&gt;With the latest version of Appian, you have direct access to a file without submit.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Upload and analyze a file in a User Input Task</title><link>https://community.appian.com/thread/151132?ContentTypeID=1</link><pubDate>Tue, 26 Aug 2025 09:40:25 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:095c77ff-b1cf-42b9-88fa-54bc3d3e566d</guid><dc:creator>Shubham Aware</dc:creator><description>&lt;p&gt;You cannot access temporary file data before submission, implement a two-step validation process where the first User Input Task allows file upload and submission using &lt;a href="https://docs.appian.com/suite/help/25.2/fnc_system_a_submituploadedfiles.html#:~:text=submitUploadedFiles()%20function%20is%20for,parameter%20to%20true%20by%20default."&gt;a!submitUploadedFiles() &lt;/a&gt;to save the file to the system. After submission, use &lt;a href="/b/appmarket/posts/excel-tools"&gt;Excel Tools plugin functions like readexcelsheetpaging() &lt;/a&gt;in your process model to count the rows, then route to a second User Input Task that either displays a validation error message if rows exceed 500 or allows the user to continue with the process if the file meets the criteria.&lt;br /&gt;Make user feel like process not 2 steps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>