In tables, yes, items need a weight. But that's not what I was thinking of.
For every row in your table, you need to enter a script command that looks something like
!import-table-item --haircolor --Brown --3
In the above command, it is adding a row to the rollable table named haircolor: it is adding the item: Brown, with weight: 3.
You also first need to create a table, which would look like
!import-table --haircolor --hide
This creates a table called haircolor, and tells the script not to print any responses for that table to chat.
So a table with three entries could be created like
!import-table --haircolor --hide
!import-table-item --haircolor --Black --4
!import-table-item --haircolor --Brown --3
!import-table-item --haircolor --Red --1
Now in your excel sheet, assuming you have every item in a separate row: lets say row 1 holds your titles, and column A has the Item Name, Column B the weight.
You'd add a third column for your table output. Make C2 the following:
="!import-table-item --TABLENAME --" & a2 & " --" & b2
Replace TABLENAME with whatever you want your table to be called.
Then just fill down your entire set of rows, and you have a set of commands ready to be copied and pasted into chat. You just need the table creation line. Add that to C1
!import-table --TABLENAME --hide
And thats it, you can just copy the entire column and paste it into roll20. I've never done it with a table of 800+ items, so you might want to start with a small amount, and paste bits at a time. Or just go for it and let us know how it goes.