Questions about excel ReadRange

There is a strange issue that I encountered. I used the ReadRange activity in Excel to read a specific sheet, which contained only over three thousand records. However, it took more than ten minutes and still couldn’t load the data. Meanwhile, when I tried reading another sheet with over ten thousand records, it only took about three to four minutes to complete. This behavior is really odd. Why does it happen?

@shenyu

  1. Does the first sheet contain more columns and formulae?
  2. Did you try with read range workbook?

Cheers

Hi,

Do you use ReadRangeX? If so, it’s know that very slow under some condition.

For now, can you try to use Classic ReadRange as the following?

image

It’s necessary to turn on Classic at Filter in Activites panel.

image

Or upgrading UiPath.Excel.Activities package might solve this matter.

Regards,

Even when I reduced the sheet with over three thousand records to just five records, it still couldn’t be read. However, when I tried using a different computer, it was able to read the data. What could be the possible reason for this? When I used the traditional ReadRange method, it returned a bunch of columns without actually retrieving any values.

Hi @shenyu

There could be several reasons for this issue like machine performance, excel configuration, UiPath version and it’s packages, memory availability in your machine etc.

Hi

It could be if many reasons

  1. It might have many formulae
  2. Any VBA Script involved

I would recommend to try with these workarounds

  1. Upgrade the excel package to its latest version in studio

  2. I think this would work faster and easier if we convert the whole thing to the Database Instead of keeping in excel

  3. If it has to be excel then we can split the data and read it
    Like we can split the data and read them
    The sequence of activities will be like
    — use a Build datatable activity and create a same structure datatable as in excel with same column name and order of columns
    and get the output as Finaldt
    And followed by this use CLEAR DATATABLE ACTIVITY and mention the input as Finaldt

—the inside excel application scope use Read range activity we can set the range like this
“A1:G1000”
Which will give us first set of datatable and name it as dt1 and here in the property panel enable add headers

—then use again a READ RANGE activity and disable the add headers property and mention the range like this
“A1001” so that it will start from were we left
Where get the output as datatable named dt2

—now use a For each row loop and pass dt2 as input
And inside the loop use Add Datarow activity and mention the ArrayRow as row.ItemArray and datatable as final dt
So all the records from dt2 will now be added to Finaldt

—then finally use MERGE DATATABLE activity where mention the source as dt and destination as Finaldt

So Finaldt will be our datatable with all records from excel
Though it takes the same time or even less than normal excel application scope and read range activity, it will work without any fail or error

  1. Finally if nothing works then try with marketplace component

Hope this clarifies

Cheers @shenyu

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.