I have not tested this, but here is an idea for how you could do this without using the SDK (i.e. this is a 'Modeler Only' solution).
Start with a domain model like this:
This domain model will enable you to import json with an unlimited (in theory) number of columns and rows. I think importing the json into this structure is pretty straightforward, so I haven't put any work into that.
Then, for a page, you could have a number of ListViews, like this:
If the containers on this page (with column title and column values) are responsive and of limited size they can be styled so that they float onto a single line, if there is enough screen space. In this way, you can present a grid like user interface.
As I said, I haven't tested this out, but think it should be workable.
One note: I have used a structure like this to make an editable page to mimic a spreadsheet. With a large number of rows providing data entry capabilities, browser performance was poor. There were simply too many text boxes with on change microflows. This was before the advent of nanoflows, so it could be different with current Mendix versions.
No, that is not possible. To add columns to your tables you need to redeploy your model.