Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Read csv file client side

I have to read the first couple of lines of a csv file client side to present the user with a preview before uploading a large file.

I'm using c# with ASP.Net (VS2010)

Does anyone know how this can be done? Also that it works in all browsers!?!

(It's not possible to use activeX or so, we do not want our clients to install something!)

A sample code would be great!

Thanks in advance!

like image 324
CyberK Avatar asked May 10 '26 20:05

CyberK


1 Answers

Firefox 3.6+ and Chrome (at least version 6, possibly older versions) support the File API which lets you read local files from a file input.

Here's a quick sample:

function handleFile(file) {
    var reader = new FileReader();
    reader.onload = function(e) {
        // Here's where you would parse the first few lines of the CSV file
        console.log(e.target.result);
    };
    reader.readAsText(file);
}

in your html, you would have something like this:

<input type="file" onchange="handleFile(this.files[0])" />

Of course, in real life you should make it degrade gracefully.

The file object has name and type properties that you could use to verify that it's a CSV file if you wanted to be more strict.

like image 101
Matthew Crumley Avatar answered May 13 '26 10:05

Matthew Crumley



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!