agiliq
agiliq

Reputation: 7738

What to set as mimetype for CSV files to open in spreadsheet applications

My application lets users download their data as CSV files. These are supposed to open in spreadsheet applications. On a Linux system, I get prompted correctly to open with OpenOffice, but some of my users complain that when they download the file, it does not open automatically Excel, but asks them to choose the application. When they download a CSV from some other site, it opens correctly in Excel.

I am setting:
mimetype: text/csv
content_disposition: attachment; filename.csv

Upvotes: 48

Views: 56566

Answers (2)

Kamil Jankowski
Kamil Jankowski

Reputation: 11

You can define the separator in first line of your CSV file using sep so that it appears as follows:

sep=;

See also @FilipNavara's answer.

Upvotes: 1

Filip Navara
Filip Navara

Reputation: 4828

Try this:

Content-Type: text/csv; name="filename.csv"
Content-Disposition: attachment; filename="filename.csv"

In Windows browsers the MIME type is ignored after the file is downloaded and only file name extension is used to determine the corresponding application.

Also, making .CSV file open in Excel correctly is hard, because the default separator is taken from Regional settings on the machine on which the CSV is opened. Furthermore, the encoding is not determined from the file content or MIME type, so any non-ASCII characters are hard to get working.

Upvotes: 69

Related Questions