I am working in a bot in which I need to do some editing of an excel file. For that i am using UiPath built in acitivities: Excel Application Scope, Read Cell, Write Cell and Delete Rows. UiPath gets it done, my concern is with the speed. It took 15 minutes to adjust a 6 thousands row file, I beleive it is a lot! I did a VBA script for the exact same operation it runs in a couple of seconds.
To fix the Excel slow-to-respond issue start the Excel file in safe mode. To do so follow the steps given in the article: Close Excel completely > hit Windows + R > then in the Run dialog box type excel –safe > press Enter.
If you already have a VBA Script for this, you could make it into a Subroutine with defined inputs and outputs and call the subroutine from your RPA process using the “Execute Macro” activity - https://docs.uipath.com/activities/docs/execute-macro
I have long used this function in UiPath, howver, I am trying to avoid it. If I could not figure it out using UiPath Activities I will use this resource
Got it.
As per my understanding, since you have a 6k+ row file, the operation gets slowed down because you are reading the entire file into memory + you are doing CRUD operations into Excel from a 3rd party tool + read/write cells are expensive than a read/write range operations.
Could you try reading the Excel into a datatable and performing these operations on the datatable and then writing the datatable back to the Excel? This might speed up operations?
The problem why your program is take more time is because your program runs the execution using your memory.
The program will execute faster from RAM than memory… using an excel file activity will take a longer time to complete the task, because your excel file is in the memory, so the program will always open a file to execute the task for each row.
You may try to use the data table activity to perform this operation because this activity will take all the rows of excel in RAM, so the process will run faster.