Clean the header row first: unique names, no blank columns, and one meaning per field. Remove notes outside the actual table, then export a small representative sample as CSV.
Check quoted commas, newlines inside cells, dates, and blank values before converting to JSON. Inspect several output objects to see whether types and rows remained aligned. Keep the original spreadsheet untouched so you can trace a mismatch.
Which column is hardest to represent?