创建CSV文件的超链接并使用应用程序打开文件

时间:2013-02-25 14:32:03

标签: html csv hyperlink

我有一个指向CSV文件的链接。单击时,它将在浏览器中打开该文件。我想使用不同的应用程序(即Excel,Open Office,Lotus)将该文件作为电子表格打开。是否可以包含标题或其他内容来实现这一目标?感谢

链接:

<a target="_blank" href="contacts.csv">Contacts</a>

浏览器显示:

First Name,Last Name,Title,Email,Company,Address,City,State,Zipcode,Direct Phone,Mobile Phone,Direct Fax,Company Phone,Company Fax
John,Doe,Estimator,johnd@acme.com,Acme Co.,112 Main St,Gothem,IL,,(847) 555-1122,,,,
Jane,Doe,Engineer,,Ace Industries,,Seattle,WA,,,,,(206) 555-1234,

2 个答案:

答案 0 :(得分:2)

您需要在生成csv文件的任何内容上设置内容类型标头。

请参阅:Setting mime type for excel document

可用标头。

您没有说明您使用哪种语言来生成csv数据,或者它是否只是您要链接的平面文件。虽然大多数语言都提供了动态设置标头的方法,但如果您使用的是静态平面文件,则可能需要设置htaccess(假设apache是​​您的Web服务器)。这里有针对该案例的说明:http://htaccess.wordpress.com/2008/07/16/sending-correct-content-type-headers-with-htaccess/

答案 1 :(得分:1)

@stakolee链接的答案实际上更具体到在Excel中打开文件。如果您想要正确且广泛兼容,则mime类型应为CSV,而不是Excel。


正确的mime类型为text/csv。 Excel可能是与此类型相关联的应用程序,因此您将获得所需的行为。

What MIME type should I use for CSV?


你也可以设置Content-Disposition以帮助解决问题。

Content-Disposition: attachment; filename="filename.csv"

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


如果需要备份选项,可以设置多种mime类型。

text/csv, application/csv, application/excel, application/vnd.ms-excel, application/vnd.msexcel

Filepicker does not accept mimetype 'text/csv' on windows


RFC 4180表示您可以使用text/csv; header=presentheader=absent进行回复,以指明文件是否包含列标题。

Proper syntax for optional header parameter for text/csv mimetype?