

Ask HN: CSV/Excel Spreadsheet Upload Service - 147

I&#x27;m feeling a bit inspired from the discussion here: https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8961149 so I figured we should have a new thread.<p>I&#x27;m thinking about tackling this problem, that is, making the end user experience for structured data uploads really, really, good.<p>But like the previous discussion, it&#x27;s a bit of a tough problem.<p>You have to deal with different spread sheet formats, malformed files, bad input, etc.<p>One possible solution that was offered was giving the users a template file to download and match their data to it. But do you really want to give your users more friction to using your software? Especially if it&#x27;s something they have to do off of your web application, they&#x27;re likely to just leave and never come back.<p>Thoughts? Anybody interested in using an external service to handle and validate CSV uploads?
======
brudgers
My conclusion is that meeting user expectations with regard to spreadsheets is
impossibly hard. Excel, for all its warts, just sets the bar too high. That
"bad csv" that causes problems is handled by Excel - people aren't uploading
broken spreadsheets where broken is what the user deems broken not a
programmer on the other end.

Spreadsheets are so hard that the resources of Google couldn't unseat Excel
despite Google providing web access, simplifying collaboration, and giving it
away for free.

It's not getting numbers in boxes that matters, it's the long tail of
functionality. Microsoft has been dogfooding its spreadsheets since MultiPlan
in 1982. They have more than 30 years of robustness in their sausage.

This means you'll always be getting bad inputs from workable spreadsheets.
Excel deals with hand built data better than any likely automated external
method.

Cleaning Excel data is a great idea for a consultancy not a startup.

Good Luck.

------
onion2k
I can absolutely recommend sheet.js. It opens an xlsx file in a browser and
dumps the data out as json that you can chuck in to something like
handsontable.js for the user to view or modify data, then just take the
handsontable data and pass it to your backend. If you want to do automated
checks you can very easily do that to the json that sheet.js outputs. It's
exceptional.

There's an xsl parser too, but if you want to handle csv you'll need something
like papaparse.js (which is sort of the grandparent of harb, which is the
node.js csv parser sheet.js uses).

------
tzm
Yes, interested. Curious to know your thoughts on user experience.

I've been involved in this space quite a bit back in 2012/2013\. I founded
Spreadsheet.io to address this problem as well.

I wrote the xls/xlsx/csv/tsv pipeline parser that converts to JSON. Also wrote
a native Excel add-in the embeds a JavaScript runtime / REPL for applying JS
scripts against local files. Using scripts to extract, clean up and integrate
data, etc.

Anyway, thinking about open sourcing it and/or finding a partner of sorts,
etc.

~~~
147
My first question is what are the use cases are. Do you know if it's just like
Patrick Mckenzie describes?: A SaaS company looking to import user data but
the user data can be structured oddly.

I'd need to know how people would use such a service in order to start
figuring out the UX.

