I am making a table for the user to fill out the information. My question is what approach to use; is it best practice to make the user chose the number of rows and columns beforehand, like so : enter image description here

or to give them an excel like sheet and then they can chose how many rows and columns they need just by filling those out along the way.

The former forces the user to figure out the number of rows/columns beforehand, which might be frustrating since they actually have to make the math themselves and I’m afraid the latter will confuse the user that he has to use all the input fields on the screen (and what if he actually needs more then provided?)

Or is there other alternatives? What would be best practice?

  • "a table for the user to fill out the information." What users? What information? How will it be used? The answer is entirely dependent on the specific use case, and depending on what you are doing, both designs may be deeply wrong (note @Franchesca's answer). So I suggest providing information on what you are doing to get a good answer.
    – user31143
    Apr 14, 2016 at 8:09

1 Answer 1


It sounds like your users are entering data in bulk. I notice that this type of user tend to prefer to collate information in a spreadsheet before they enter it into any record editing UI (perhaps they even have their own Excel macros). If this is the case, I would recommend supporting copy / paste for rows and columns, and / or some kind of import (csv seems a very popular format with finance type users).

Don't reinvent Excel, it will never live up to expectations.

You should of course implement a simple interface for adding new rows to the table / editing existing rows. This will allow users to make small changes quickly, however it will drive them mad to bulk enter data this way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.