- Overview
- Excel
- Release Notes
- About the Excel activity package
- Project Compatibility
- Supported character encoding
- Project Settings
- Add or Update Excel Sensitivity Label
- Append Range
- Auto Fill
- Autofit Range
- Change Pivot Data Source
- Clear Sheet/Range/Table
- Copy/Paste Range
- Create Pivot Table
- Delete Column
- Delete Rows
- Delete Sheet
- Duplicate Sheet
- Export to CSV
- Fill Range
- Filter
- Filter Pivot Table
- Find First/Last Data Row
- Find/Replace Value
- For Each Excel Row
- For Each Excel Sheet
- Format As Table
- Format Cells
- Get Cell Color
- Get Excel Chart
- Get Excel Sensitivity Label
- Get Selected Range
- Insert Column
- Insert Chart
- Insert Rows
- Insert Sheet
- Invoke VBA
- Lookup
- Match Function
- Protect Sheet
- Read Cell Formula
- Read Cell Value
- Read Range
- Refresh Excel Data Connections
- Refresh Pivot Table
- Remove Duplicates
- Rename Sheet
- Run Spreadsheet Macro
- Save Excel File
- Save Excel File As
- Save Excel File As PDF
- Select Range
- Sort Range
- Text to Columns
- Unprotect Sheet
- Update Excel Chart
- Use Excel File
- VLookup
- Write Cell
- Write CSV
- Write DataTable to Excel
- Excel Application Scope
- Append To CSV
- Read CSV
- Write CSV
- Delete Column
- Filter Table
- Get Table Range
- Insert Column
- Sort Table
- Append Range
- Close Workbook
- Get Cell Color
- Read Cell
- Read Cell Formula
- Read Column
- Read Range
- Read Row
- Select Range
- Set Range Color
- Write Cell
- Write Range
- Save Workbook
- Create Table
- Get Workbook Sheet
- Get Workbook Sheets
- Refresh Pivot Table
- Create Pivot Table
- Get Selected Range
- Copy Sheet
- Delete Range
- Auto Fill Range
- Copy Paste Range
- Execute Macro
- Insert/Delete Columns
- Insert/Delete Rows
- Invoke VBA
- LookUp Range
- Remove Duplicates Range
- Excel Process Scope
- Manage CSV Files
- Filter CSV Files
- Verify CSV Files
- Table Functions
- Manage Multiple Excel Files
- Interpret Excel Results
- Manage Pivot Tables
- Manage Range Selection
- Read From Excel Files
- Manage Databases in Excel
- Compare CSV Files
- Compare Numeric Values
- Sort Data in Excel Files
- Filter and Delete Rows in Excel Files
- Manipulate Range Selections
- Verify Excel Workbook Data
- Read, Write, and Append Data in Excel
- Google Workspace
- Release notes
- About the Google Workspace activities package
- Project compatibility
- Wait for Calendar Event Created and Resume
- Wait for Calendar Event Received and Resume
- Wait for Calendar Event Replied and Resume
- Wait for Calendar Event Updated
- Wait for Email Received and Resume
- Wait for Email Sent and Resume
- Wait for File Created and Resume
- Wait for File Updated and Resume
- Wait for Folder Created and Resume
- Wait for Sheet Created and Resume
- Wait for Sheet Cell Updated and Resume
- Wait for Task Created and Resume
- Wait for Task Completed and Resume
- Add Attendee
- Create Event
- Delete Event
- Modify Event
- Search Events
- Use Google Drive
- Share File
- Delete File Permission
- Get File Permissions
- Update File Permission
- Copy File
- Create Folder
- Delete File
- Download File
- Find Files and Folders
- Get File Info
- Move File
- Upload File
- Create Document
- Create New Spreadsheet
- Get Mail Messages
- Send Mail Messages
- Change Labels
- Use Google Spreadsheet
- Add Delete Columns
- Add Delete Rows
- Auto Fill Range
- Add New Sheet
- Append Row
- Batch Spreadsheet Updates
- Copy Sheet
- Copy Paste Range
- Delete Range
- Delete Sheet
- Get Cell Color
- Get Sheets
- Read Cell
- Read Column
- Read Range
- Read Row
- Rename Sheet
- Write Cell
- Write Range
- Clear Range
- Download Spreadsheet
- Use Google Document
- Batch Document Updates
- Get Document
- Get Text Index
- Insert Text
- Replace Text
- Read All Text
- Create Script Project
- Get Project Content
- Upload Script File
- Create Deployment
- Run Script
- Mail
- Microsoft 365
- Release notes
- About the Microsoft 365 activity package
- Project compatibility
- Connections
- AddEmailCategories
- ArchiveEmail
- DeleteEmail
- DownloadEmail
- DownloadEmailAttachment
- DownloadEmailAttachments
- ForwardEmail
- GetEmail
- GetEmailAttachmentsInfo
- GetEmails
- GetMailFolders
- GetNewestEmail
- MarkEmailAsRead
- MarkEmailAsUnread
- MoveEmail
- RemoveEmailCategories
- ReplyToEmail
- SendEmail
- TurnOffAutomaticReplies
- TurnOnAutomaticReplies
- Merge multiple sheets into a new summary Excel sheet
- Automatically accept calendar invites from your manager
- Move files to dedicated folders by type
- Verify if new employment documents (I9 and ID) match
- Add new customers to a SharePoint List
- Delete SharePoint List items newer than yesterday
- Notify me on Slack when an important Outlook Email is received
- Include creation date in new OneDrive file names
- Notify me by email when a new file is created
- Microsoft 365 Scope
- Add Sheet
- Append Range
- Clear Range
- Copy Range
- Copy Sheet
- Create Workbook
- Delete Range
- Delete Sheet
- Get Cell Color
- Get Sheets
- Read Cell
- Read Column
- Read Range
- Read Row
- Rename Sheet
- Write Cell
- Write Range
- Set Range Color
- Create Table
- Get Table Range
- Insert Column
- Delete Column
- Insert Rows
- Delete Rows
- VLookup Range
- Use OneDrive & SharePoint
- Copy File/Folder
- Create Folder
- Delete File/Folder
- Download File
- Export File as PDF
- Find Files And Folders
- Get File/Folder
- Move File/Folder
- Upload File
- Share File/Folder
- For Each File/Folder
- Forward Mail
- Get Mail
- Move Mail
- Send Mail
- Reply to Mail
- Delete Mail
- Set Mail Categories
- Add Attachment
- Add Attendee
- Add Location
- Create Event
- Delete Event
- Find Meeting Times
- Get Calendars
- Modify Event
- RSVP
- Search Events
- Create Group
- Delete Group
- Get Group
- List Groups
- Create Bucket
- Delete Bucket
- List Buckets
- List Bucket Tasks
- Create Plan
- Get Plan
- List Plans
- Create Task
- Delete Task
- Get Task
- List Tasks
- Update Task
- For Each List
- Get List Info
- For Each List Item
- Delete List Item
- Add List Items
- Update List Item
- Get List Items
- Presentations
- Release Notes
- About the Presentations activity package
- Project Compatibility
- Add or Update Powerpoint Sensitivity Label
- Add Data Table to Slide
- Add File to Slide
- Add Image or Video to Slide
- Add New Slide
- Add Text to Slide
- Copy Paste Slide
- Delete Slide
- Format Slide Content
- Get Powerpoint Sensitivity Label
- Replace Text in Presentation
- Paste Item Into Slide
- Run Presentation Macro
- Save PowerPoint File As
- Save Presentation as PDF
- Use PowerPoint Presentation
- Word
- Release Notes
- About the Word Activities Package
- Project Compatibility
- Word Application Scope / Use Word File
- Add or Update Word Sensitivity Label
- Add Hyperlink to Document
- Add Picture
- Append Text
- Get Word Sensitivity Label
- Insert DataTable in Document
- Paste Chart/Picture Into Document
- Read Text
- Replace Picture
- Replace Text in Document
- Save Document As
- Save Document as PDF
- Set Bookmark Content
Sort Data in Excel Files
.xlsx
table can be processed to display the data presented in all rows in ascending order, without any duplicates.
It presents activities such as Remove Data Row, Read Range or Sort Table. You can find these activities in the UiPath.Excel.Activities package.
The example below uses a table comprising five columns - id, first-name, last-name, email, and gender. The entries in the table are arranged in descending order. Some of the rows appear several times along the spreadsheet. Using an automation process, data is sorted in ascending order and all duplicates are removed.
This is how the automation process can be built:
-
Open Studio and create a new Process named by default Main.
Note: Make sure to add the.xlsx
file that you want to use in the project folder. You can also use the file we provided by downloading the example available at the bottom of this page. -
Drag a Flowchart in the Workflow Designer.
-
Create the following variables:
Variable Name
Variable Type
Default Value
existingColumns
WorkbookApplication
N/A
-
-
Drag an Excel Application Scope activity in the Flowchart and connect it to the Start Node.
- Double click on the Excel Application Scope activity to open it.
- In the Properties panel, add the name
Sorting rows ascending
in the DisplayName field. - Add the path of the
.xlsx
file in the WorkbookPath field, in this case,Book.xlsx
. - Select the check boxes for the AutoSave, CreateNewFile and Visible options. The robot is now allowed to create a new Excel workbook, to automatically save all the changes made to it and to open the Excel file in the foreground while performing actions on it.
- Add the variable
existingColumns
in the Workbook field.
-
Select the Do sequence inside the Excel Application Scope activity and create the following variable:
Variable Name
Variable Type
Default Value
descendingOrder
System.Data.DataTable
N/A -
Drag an Excel Read Range activity inside the Do sequence.
- In the Properties panel, add the name
"Sheet1"
in the SheetName field. - Select the AddHeaders check box for considering the first row of the table a header.
- Add the variable
descendingOrder
in the DataTable field.
- In the Properties panel, add the name
-
Place a Sort Table activity under the Read Range activity.
- In the Properties panel, add the name
"id"
in the ColumnName field. - Select
Ascending
from the Order list. - Add the name
"Sheet1"
in the SheetName field. - Add the name
"Table1"
in the TableName field.
- In the Properties panel, add the name
- Return to the Flowchart workflow.
-
Drag an Excel Application Scope activity and connect it to the previous Excel Application Scope activity.
- Double click on the Excel Application Scope activity to open it.
- In the Properties panel, add the name
Deleting duplicates
in the DisplayName field. - Select the check boxes for the AutoSave, CreateNewFile and Visible options. The robot is now allowed to create a new Excel workbook, to automatically save all the changes made to it and to open the Excel file in the foreground while performing actions on it.
- Add the variable
existingColumns
in the Workbook field.
-
Drag an Excel Read Range activity inside the Do sequence.
- In the Properties panel, add the name
"Sheet1"
in the SheetName field. - Select the AddHeaders check box for considering the first row of the table a header.
- Add the variable
descendingOrder
in the DataTable field.
- In the Properties panel, add the name
-
Place a While activity below the Read Range activity.
-
Create the following variable:
Variable Name
Variable Type
Default Value
rowIndex
Int32
0
- Add the expression
rowIndex+1 < descendingOrder.Rows.Count
in the Condition field. This expression process the entire table and enables you to perform the While loop until therow index +1
is smaller than the total number of rows.
-
-
Add a Sequence container in the body of the While activity.
-
Create the following variables:
Variable Name
Variable Type
Default Value
row
System.Data.DataRow
N/A rowNext
System.Data.DataRow
N/A
-
-
Place an Assign activity inside the previously created Sequence container.
- Add the variable
row
in the To field and the expressiondescendingOrder.Rows(rowIndex)
in the Value field. This enables you to assign the information contained in a row to the row variable according to its index.
- Add the variable
-
Drag another Assign activity and place it below the previous one.
- Add the variable
rowNext
in the To field and the expressiondescendingOrder.Rows(rowIndex+1)
in the Value field. This assigns the value of the following row to therowNext
variable, and thus helps you iterate through all the table.
- Add the variable
-
Add an If activity under the Assign activity.
- Add the expression
row(0).ToString=rowNext(0).Tostring
in the Condition field. This condition checks if the data contained in therow
variable is identical to the one in therowNext
variable.
- Add the expression
-
Drag a Remove Data Row activity in the Then field of the If activity.
- Add the variable
descendingOrder
in the DataTable field and the variablerowNext
in the Row field.
- Add the variable
-
Place an Assign activity in the Else field of the If activity.
- Add the variable
rowIndex
in the To field and the expressionrowIndex+1
in the Value field.
- Add the variable
-
Add a Write Range activity below the While activity.
- Add the name
"Sheet2"
in the SheetName field, the value"A1"
in the StartingCell field and the variabledescendingOrder
in the DataTable field. - Select the AddHeaders check box for considering the first row of the table a header.
- Add the name
- Run the process. The automation process creates a new sheet that displays the data in ascending order without any duplicates.