That is not how I remember it to be honest. If it was about generating Revit elements from a spreadsheet then why is the data in such an inconvenient form for Revit input?
For example regarding vertical/slanted columns (two level based family instances) all you need is:
Family, Type, Level, Level, XY, XY, Offset1, Offset2, Orientation(XY)
Instead of this you have:
(1)Floor_ID, (2)Column Family, (3)Column Diameter, (4)Column Type, (5)COLUMN_CTR, (6)Length, (7)Width, (8)SQUARE_COLUMN
Column 4 would alone establish (3),(6) & (7),
Column 8 appears to be a bounding box but not sure why it has five points with the last the same as the first? Again you don't really need this column since type would cover size and therefore bounding box.
Not 100% on understanding the WALLS tab, would wonder what the curve types represented by the various 2D point sets in Wall_Lines relates to?
Can't see much that would allow me to know the height of the Walls/Columns etc.?
On the GRID tab there is the FLOOR_ID column which again seems odd for Revit (where grids are not level based).
I think instead of this I would look to think about how a Revit model is built-up e.g.
Grids, Levels, Columns, Primary Beams, Division of primary beams for secondary beams (fixed number, max spacing etc.). Build relationships in a way that allows the model to be grown.
Similar to analytical models you may prefer to define nodes and then members between such nodes. That approach ensures better connectivity as two members with the same end node id have the same end point regardless of dimensional imperfections in how the nodes were defined i.e. why define the same point ten times or more? Define the thing, give it an id and refer to it elsewhere.