TL;DR: I'm quite sure you upgraded from a Magento version equal or lower than
22.214.171.124 to a version equal or greater than
126.96.36.199 and that you overridden
Mage_ImportExport_Model_Export_Adapter_Abstract in your local file space. So you will have to identify the changes and bring them into an updated version of
First, let's clarify what the error message tells us:
The error message says that the method
getRowsCount() could not be found (i.e. is not available) within either the class
app/code/core/Mage/ImportExport/Model/Export/Adapter/Csv.php) or any class it extends - in this case this would be the class
Now, since we know that, we can take a short look at the history of
Magento 1.9.x and especially the difference between
getRowsCount() was introduced in version
Also, this method (rather obviously) was not used in
app/code/core/Mage/ImportExport/Model/Export/Entity/Product.php before Magento version
Last but not least, let's bring this together with common mistakes made either while upgrading a store or when extending Magento core functionality in a way not considered as "best practice":
abstract class can not be overwritten directly. This means, if you'd like to change a certain method defined within an abstract class, Magento wont allow you to create a custom module and override it. Rather than this you would need to override a class that is extending the abstract class (see above, rather than overriding
Mage_ImportExport_Model_Export_Adapter_Abstract you would need to override
However, there is another way to modify functionality of Magento - which is not considered best practice because exactly the issue you're experiencing now can easily occur after an upgrade:
You could copy
app/code/local/Mage/ImportExport/Model/Export/Adapter/Abstract.php and do your changes in this new file. Doing so will tell Magento to always use this file in the local file space rather than the one located at the core file space. At the time of an upgrade this will - in case the original core file is changed (i.e. a new method is introduced) - create the problem, that this new class is not present in the local copy, hence it can not be found.
To solve your problem you got basically two options - where the first step is common for both anyway:
You will have to identify the initial changes (the changes between the original
app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php file and
app/code/local/Mage/ImportExport/Model/Export/Adapter/Abstract.php) to see, what was changed back than.
Then you need to check for changes between
app/code/core/Mage/ImportExport/Model/Export/Adapter/Abstract.php (i.e. your current version)
The result of these two checks must be that you know, what were manual changes to this file and what changes were done by the upgrade.
You could now go on with the local copy of the
Abstract.php file. For this you'll have to copy the new version of the core file and add the manual changes you have identified via step 1 again.
This however can create the very same problem in a future upgrade again if the same file again gets updated.
Another option (= the better option) is to create a custom module that extends the original
Abstract.php. This would be considered best practice as it is way more update-proof than then other way.
References on these topics:
Autoload/autoloading is basically the concept of not having to
require classes form other files (since this can mean that at one point you first of all have to include hundreds of files before your actual code starts):
Overriding classes in Magento:
Crating a custom module for Magento: