Here's what I do in python.
table = self.driver.find_element_by_xpath(table_xpath)
cells = table.find_elements_by_class_name('UIATableCell')
You can add a check for cells being empty if needed. And then stick that in a general function you can reuse throughout your framework.
Some other gotchas. In my AUT errors or other messages may be displayed in a UIATableCell in the UIATable, thus the function would return 1 cell, I'd try to extract expected data, and it would fail since the expected data was not present but some message was instead.