Q:

How to avoid repetitive actions in table rows?

We have a table with data and actions on each row like so:
Name          Email                   Description         Actions
James         james@gmail.com         Desc 1              Edit  Export  Delete 
Carl          carl@gmail.com          Desc 2              Edit  Export  Delete 
Mike          mike@gmail.com          Desc 3              Edit  Export  Delete 

Et cetera. As you can see in the example above, Edit, Export, and Delete are repeated on each row. This table can have up to 100 rows of data and each action is also repeated 100 times. Is there a better way of presenting the actions without being so repetitive? Or is this perfectly normal? 

A:

Another way of doing this is by placing check boxes in front of every row and adding actions (Edit, Export, Delete) on single or multiple selection at the bottom but it really depends on the case. 
You can also have a top check box for selecting all rows in the table or on the current page (if you have pagination.)

A:

Your actions are different:

Edit is individual for each record in sense it starts another form for editing this particular record.
Export and Delete are batch actions which could be made on a set of records.

So Edit could be done by double-click and Export, Delete could be done using multiselection with checkboxes and single action button. 

A:

Here are some different ways you could tackle this:

Create universal buttons for batch actions. Consider making actions like Delete or Export a universal action located above your table, becoming active once you start selecting rows. Great examples of this are Netflix's DVD Queue and Gmail.
Hide secondary actions until user hovers/focuses row. There are pros and cons to this approach, but exposing additional controls on each row only when the user is hovering (or has focused the row for touch-based devices) is a way to keep actions associated with each row with the row itself. A great example of this is Twitter.
Show the Edit button, but hide Export / Delete options untile row hover/focus. It just comes down to the nature of your app for this consideration. If exporting and deleting is a regularly used feature, then this probably isn't the best option.

Some considerations to keep in mind:

Consider making Delete a harder action to take. What I mean by this is, make it a two-step process somehow. Whether that's checking a box on each row and then selecting a Delete button on top or focusing on the row and then providing a delete option.
It probably wouldn't be a bad idea to provide individual row options and batch row options. This depends on your app, but if the user is managing larger volumes of data, having the ability to batch export, edit or delete row items (if possible) helps save a lot of time. Conversely, having the ability to go into one row and perform one of those actions without using a big batch operation is nice as well. It just depends on how users interact with the data most of the time.
Provide a select all function. If you go the route of checkboxes to select rows for export / delete functions, provide an easy way users can select all rows for easy exporting / deleting. You might want to throw a speed bump in front of the user in either case to ask them to confirm if they want to export or delete all rows.

