Members Directory with added fields

I am researching for a client who needs an online, password protected members directory, wherein every member can login and see a directory of all members. The thing that is somewhat complicated is that they need a lot of custom fields for the info (name, address, email, phone, past work, professional and volunteer history, family information, skills and passions) and I am having a hard time finding something where I can add a bunch of fields that the member can then edit in the front end (not in WP admin area). Plus they want the ability to be able to easily export a CSV of all members to create a printed directory every year. Is it possible to do this with the members plugin, possibly even in conjunction with other plugins?