Application vnd ms excel csv

I’ve seen application/csv used and also text/csv.

Is there a difference? Does it matter which as long as the request matches something that’s available? Are they interchangeable?

ivanleoncz's user avatar

ivanleoncz

8,6426 gold badges58 silver badges48 bronze badges

asked Aug 16, 2011 at 9:21

Steve Dunn's user avatar

1

RFC 7111

There is an RFC which covers it and says to use text/csv.

This RFC updates RFC 4180.

Excel

Recently I discovered an explicit mimetype for Excel application/vnd.ms-excel. It was registered with IANA in ’96. Note the concerns raised about being at the mercy of the sender and having your machine violated.

Media Type: application/vnd.ms-excel

Name Microsoft Excel ™

Required parameters: None

Optional parameters: name

Encoding considerations: base64 preferred

Security considerations: As with most application types this data is
intended for interpretation by a program that understands the data on
the recipient’s system. Recipients need to understand that they are at
the «mercy» of the sender, when receiving this type of data, since
data will be executed on their system, and the security of their
machines can be violated.

OID { org-id ms-files(4) ms-excel (3) }

Object type spreadsheet

Comments This Media Type/OID is used to identify Microsoft
Excel generically (i.e., independent of version, subtype, or platform format).

I wasn’t aware that vendor extensions were allowed. Check out this answer to find out more — thanks starbeamrainbowlabs for the reference.

Community's user avatar

answered Aug 16, 2011 at 9:24

Chris McCauley's user avatar

Chris McCauleyChris McCauley

25.6k8 gold badges47 silver badges65 bronze badges

21

You should use «text/csv» according to RFC 4180.

Community's user avatar

answered Aug 16, 2011 at 9:24

Smokefoot's user avatar

SmokefootSmokefoot

1,6952 gold badges10 silver badges13 bronze badges

3

Strange behavior with MS Excel:
If i export to «text based, comma-separated format (csv)» this is the mime-type I get after uploading on my webserver:

[name] => data.csv
[type] => application/vnd.ms-excel

So Microsoft seems to be doing own things again, regardless of existing standards: https://en.wikipedia.org/wiki/Comma-separated_values

aefxx's user avatar

aefxx

24.7k6 gold badges45 silver badges55 bronze badges

answered Jan 30, 2015 at 10:16

Robert's user avatar

RobertRobert

7495 silver badges7 bronze badges

5

My users are allowed to upload CSV files and text/csv and application/csv did not appear by now. These are the ones identified through finfo():

text/plain
text/x-csv

And these are the ones transmitted through the browser:

text/plain
application/vnd.ms-excel
text/x-csv

The following types did not appear, but could:

application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values

Community's user avatar

answered Feb 9, 2017 at 15:07

mgutt's user avatar

mguttmgutt

5,7892 gold badges49 silver badges76 bronze badges

3

For anyone struggling with Google API mimeType for *.csv files, I have found the list of MIME types for google api docs files

Google Doc Format Conversion Format Corresponding MIME type
Documents HTML text/html
HTML (zipped) application/zip
Plain text text/plain
Rich text application/rtf
Open Office doc application/vnd.oasis.opendocument.text
PDF application/pdf
MS Word document application/vnd.openxmlformats-officedocument.wordprocessingml.document
EPUB application/epub+zip
Spreadsheets MS Excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Open Office sheet application/x-vnd.oasis.opendocument.spreadsheet
PDF application/pdf
CSV (first sheet only) text/csv
TSV (first sheet only) text/tab-separated-values
HTML (zipped) application/zip
Drawings JPEG image/jpeg
PNG image/png
SVG image/svg+xml
PDF application/pdf
Presentations MS PowerPoint application/vnd.openxmlformats-officedocument.presentationml.presentation
Open Office presentation application/vnd.oasis.opendocument.presentation
PDF application/pdf
Plain text text/plain
Apps Scripts JSON application/vnd.google-apps.script+json

Source here:
https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents
the table under:
«Google Doc formats and supported export MIME types map to each other as follows»

There is also another list

MIME Type Description
application/vnd.google-apps.audio
application/vnd.google-apps.document Google Docs
application/vnd.google-apps.drawing Google Drawing
application/vnd.google-apps.file Google Drive file
application/vnd.google-apps.folder Google Drive folder
application/vnd.google-apps.form Google Forms
application/vnd.google-apps.fusiontable Google Fusion Tables
application/vnd.google-apps.map Google My Maps
application/vnd.google-apps.photo
application/vnd.google-apps.presentation Google Slides
application/vnd.google-apps.script Google Apps Scripts
application/vnd.google-apps.site Google Sites
application/vnd.google-apps.spreadsheet Google Sheets
application/vnd.google-apps.unknown
application/vnd.google-apps.video
application/vnd.google-apps.drive-sdk 3rd party shortcut

Source here:
https://developers.google.com/drive/v3/web/mime-types

But the first one was more helpful for my use case.

Cameron Tacklind's user avatar

answered Mar 29, 2018 at 8:54

Luckylooke's user avatar

LuckylookeLuckylooke

3,8613 gold badges31 silver badges48 bronze badges

1

Я видел application/csv и text/csv.

в чем разница? Есть ли разница? Имеет ли значение, что, пока запрос соответствует чему-то, что доступно? Они взаимозаменяемы?

5 ответов


RFC 7111

есть RFC который покрывает его и говорит, чтобы использовать text/csv.

этот RFC обновляет RFC 4180.

в Excel

недавно я обнаружил явный тип mimetype для приложения Excel / vnd.ms-excel. Он был зарегистрирован в в IANA в 96 году. Обратите внимание на опасения, высказанные по поводу пребывания в милости отправителя и наличие вашей машины нарушено!—18—>.

тип носителя: application / vnd.ms-excel

имя Microsoft Excel ™

обязательные параметры: нет

Дополнительные параметры: name

соображения кодирования: base64 предпочтительнее

соображений безопасности: как и в большинстве типов приложений эти данные
предназначен для интерпретации программой, которая понимает данные
получатель система. Получатели должны понимать, что они
«милосердие» отправителя при получении такого типа данных, поскольку
данные будут выполнены на их системе, и обеспеченность их
машины могут быть нарушены.

OID { org-id ms-files (4) ms-excel (3) }

таблица типов объектов

комментарии Этот тип носителя / OID используется для идентификации Microsoft
Excel в целом (т. е. независимо от версии, подтипа или формат платформы).

Я не знал, что расширения поставщиков разрешены. Проверьте ответ чтобы узнать больше — спасибо starbeamrainbowlabs для справки.

444

автор: Chris McCauley


вы должны использовать «текст / csv» в соответствии с RFC 4180.


странное поведение с MS Excel:
Если я экспортирую в » текстовый формат, разделенный запятыми (csv) » Это тип mime, который я получаю после загрузки на моем веб-сервере:

[name] => data.csv
[type] => application/vnd.ms-excel

таким образом, Microsoft, похоже, снова делает собственные вещи, независимо от существующих стандартов:https://en.wikipedia.org/wiki/Comma-separated_values


мои пользователи могут загружать CSV-файлы и text/csv и application/csv к настоящему времени не появилось. Они определены через finfo():

text/plain
text/x-csv

и это те, которые передаются через браузер:

text/plain
application/vnd.ms-excel
text/x-csv

следующие типы не появились, но могли:

application/csv
application/x-csv
text/csv
text/comma-separated-values
text/x-comma-separated-values
text/tab-separated-values

для тех, кто борется с Google API mimeType для *.CSV-файл.
Я нашел список типов MIME для файлов документов Google api
(посмотрите на обрезанный результат)

<table border="1">
<thead>
<tr>
<th>Google Doc Format</th>
<th>Conversion Format</th>
<th>Corresponding MIME type</th>
</tr>
</thead>
<tbody>
<tr>
<td>Documents</td>
<td>HTML</td>
<td>text/html</td>
</tr>
<tr>
</tr><tr>
<td></td>
<td>HTML (zipped)</td>
<td>application/zip</td>
</tr>
<tr>
<td></td>
<td>Plain text</td>
<td>text/plain</td>
</tr>
<tr>
<td></td>
<td>Rich text</td>
<td>application/rtf</td>
</tr>
<tr>
<td></td>
<td>Open Office doc</td>
<td>application/vnd.oasis.opendocument.text</td>
</tr>
<tr>
<td></td>
<td>PDF</td>
<td>application/pdf</td>
</tr>
<tr>
<td></td>
<td>MS Word document</td>
<td>application/vnd.openxmlformats-officedocument.wordprocessingml.document
</td>
</tr>
<tr>
<td></td>
<td>EPUB</td>
<td>application/epub+zip
</td>
</tr>
<tr>
<td>Spreadsheets</td>
<td>MS Excel</td>
<td>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</td>
</tr>
<tr>
<td></td>
<td>Open Office sheet</td>
<td>application/x-vnd.oasis.opendocument.spreadsheet</td>
</tr>
<tr>
<td></td>
<td>PDF</td>
<td>application/pdf</td>
</tr>
<tr>
<td></td>
<td>CSV (first sheet only)</td>
<td>text/csv</td>
</tr>
<tr>
<td></td>
<td>TSV (first sheet only)</td>
<td>text/tab-separated-values</td>
</tr>
<tr>
<td></td>
<td>HTML (zipped)</td>
<td>application/zip</td>
</tr>
<tr></tr><tr>
<td>Drawings</td>
<td>JPEG</td>
<td>image/jpeg</td>
</tr>
<tr>
<td></td>
<td>PNG</td>
<td>image/png</td>
</tr>
<tr>
<td></td>
<td>SVG</td>
<td>image/svg+xml</td>
</tr>
<tr>
<td></td>
<td>PDF</td>
<td>application/pdf</td>
</tr>
<tr>
<td>Presentations</td>
<td>MS PowerPoint</td>
<td>application/vnd.openxmlformats-officedocument.presentationml.presentation
</td>
</tr>
<tr>
<td></td>
<td>Open Office presentation</td>
<td>application/vnd.oasis.opendocument.presentation</td>
</tr>
<tr></tr><tr>
<td></td>
<td>PDF</td>
<td>application/pdf</td>
</tr>
<tr>
<td></td>
<td>Plain text</td>
<td>text/plain</td>
</tr>
<tr>
<td>Apps Scripts</td>
<td>JSON</td>
<td>application/vnd.google-apps.script+json</td>
</tr>
</tbody>
</table>

источник здесь:
https://developers.google.com/drive/v3/web/manage-downloads#downloading_google_documents
стол под:
«Форматы Google Doc и поддерживаемые типы экспорта MIME сопоставляются друг с другом следующим образом»

есть еще один список

<table border="1">
<thead>
<tr>
<th>MIME Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>audio</span></code></td>
<td></td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>document</span></code></td>
<td>Google Docs</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>drawing</span></code></td>
<td>Google Drawing</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>file</span></code></td>
<td>Google Drive file</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>folder</span></code></td>
<td>Google Drive folder</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>form</span></code></td>
<td>Google Forms</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>fusiontable</span></code></td>
<td>Google Fusion Tables</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>map</span></code></td>
<td>Google My Maps</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>photo</span></code></td>
<td></td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>presentation</span></code></td>
<td>Google Slides</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>script</span></code></td>
<td>Google Apps Scripts</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>site</span></code></td>
<td>Google Sites</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>spreadsheet</span></code></td>
<td>Google Sheets</td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>unknown</span></code></td>
<td></td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>video</span></code></td>
<td></td>
</tr>
<tr>
<td><code><span>application/vnd.<wbr>google-apps.<wbr>drive-sdk</span></code></td>
<td>3rd party shortcut</td>
</tr>
</tbody>
</table>

источник здесь:
https://developers.google.com/drive/v3/web/mime-types

но первый был более полезен для моего случая использования..

удачи в кодировании ;)


Здесь представлен исчерпывающий список типов MIME, соотнесённых с типами документов и отсортированных по расширению.Два ключевых типа MIME, использующихся в качестве типов по умолчанию:

  • text/plain является типом по умолчанию для текстовых файлов. Текстовый файл должен быть читаемым человеком и не должен содержать в себе бинарную информацию.
  • application/octet-stream является типом по умолчанию для всех остальных случаев. Нужно использовать этот тип, если тип файла неизвестен. Браузеры уделяют дополнительное внимание при работе с данным типом файлов для предотвращения вредоносного поведения.

IANA является официальным регистром типов MIME и поддерживает их официальный список. В данной таблице представлен список типов, наиболее важных для Web:

Расширение Тип документа Тип MIME
.aac AAC audio audio/aac
.abw AbiWord document application/x-abiword
.arc Archive document (multiple files embedded) application/x-freearc
.avi AVI: Audio Video Interleave video/x-msvideo
.azw Amazon Kindle eBook format application/vnd.amazon.ebook
.bin Any kind of binary data application/octet-stream
.bmp Windows OS/2 Bitmap Graphics image/bmp
.bz BZip archive application/x-bzip
.bz2 BZip2 archive application/x-bzip2
.csh C-Shell script application/x-csh
.css Cascading Style Sheets (CSS) text/css
.csv Comma-separated values (CSV) text/csv
.doc Microsoft Word application/msword
.docx Microsoft Word (OpenXML) application/vnd.openxmlformats-officedocument.wordprocessingml.document
.eot MS Embedded OpenType fonts application/vnd.ms-fontobject
.epub Electronic publication (EPUB) application/epub+zip
.gz GZip Compressed Archive application/gzip
.gif Graphics Interchange Format (GIF) image/gif
.htm .html HyperText Markup Language (HTML) text/html
.ico Icon format image/vnd.microsoft.icon
.ics iCalendar format text/calendar
.jar Java Archive (JAR) application/java-archive
.jpeg .jpg JPEG images image/jpeg
.js JavaScript text/javascript
.json JSON format application/json
.jsonld JSON-LD format application/ld+json
.mid .midi Musical Instrument Digital Interface (MIDI) audio/midi audio/x-midi
.mjs JavaScript module text/javascript
.mp3 MP3 audio audio/mpeg
.mpeg MPEG Video video/mpeg
.mpkg Apple Installer Package application/vnd.apple.installer+xml
.odp OpenDocument presentation document application/vnd.oasis.opendocument.presentation
.ods OpenDocument spreadsheet document application/vnd.oasis.opendocument.spreadsheet
.odt OpenDocument text document application/vnd.oasis.opendocument.text
.oga OGG audio audio/ogg
.ogv OGG video video/ogg
.ogx OGG application/ogg
.opus Opus audio audio/opus
.otf OpenType font font/otf
.png Portable Network Graphics image/png
.pdf Adobe Portable Document Format (PDF) application/pdf
.php Hypertext Preprocessor (Personal Home Page) application/php
.ppt Microsoft PowerPoint application/vnd.ms-powerpoint
.pptx Microsoft PowerPoint (OpenXML) application/vnd.openxmlformats-officedocument.presentationml.presentation
.rar RAR archive application/vnd.rar
.rtf Rich Text Format (RTF) application/rtf
.sh Bourne shell script application/x-sh
.svg Scalable Vector Graphics (SVG) image/svg+xml
.swf Small web format (SWF) or Adobe Flash document application/x-shockwave-flash
.tar Tape Archive (TAR) application/x-tar
.tif .tiff Tagged Image File Format (TIFF) image/tiff
.ts MPEG transport stream video/mp2t
.ttf TrueType Font font/ttf
.txt Text, (generally ASCII or ISO 8859-n) text/plain
.vsd Microsoft Visio application/vnd.visio
.wav Waveform Audio Format audio/wav
.weba WEBM audio audio/webm
.webm WEBM video video/webm
.webp WEBP image image/webp
.woff Web Open Font Format (WOFF) font/woff
.woff2 Web Open Font Format (WOFF) font/woff2
.xhtml XHTML application/xhtml+xml
.xls Microsoft Excel application/vnd.ms-excel
.xlsx Microsoft Excel (OpenXML) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xml XML application/xml if not readable from casual users (RFC 3023, section 3) text/xml if readable from casual users (RFC 3023, section 3)
.xul XUL application/vnd.mozilla.xul+xml
.zip ZIP archive application/zip
.3gp 3GPP audio/video container video/3gpp audio/3gpp if it doesn’t contain video
.3g2 3GPP2 audio/video container video/3gpp2 audio/3gpp2 if it doesn’t contain video
.7z 7-zip archive application/x-7z-compressed

Я пытаюсь разрешить пользователю загружать файл csv и открывать его с помощью Excel (предпочтительно с уже выбранным вариантом «Открыть файл с Excel»).

//Cont.cs
public ActionResult CSVLink(string file)
    {
        var dir = Server.MapPath("/CSV/Stats");
        var path = Path.Combine(dir, file + ".csv"); // I have tried this both with and w/o adding the csv here, and on the anchor href instead
        return File(path, "application/csv");
    }

//Links.cshtml
<a target="_blank" href="/CSVLink?file=Hits_20150616">Today Hits</a>

Это в основном работает, так как в нем пользователь может загрузить файл, но расширение файла не сохраняется как csv. Кажется, что проблема связана с return File(path, "application/csv"); , и более конкретно application/csv.

Вот список того, что происходит с различными типами mime:

  • application/csv — загрузка файла, но не имеет расширения файла
  • text/csv — тот же
  • application/binary — тот же
  • application/vnd.ms-excel — Файл загружается как файл.xls, который испортит его внешний вид в Excel.

Вот еще одна странная вещь: все файлы, которые не имеют расширений, если я их переименую и поставлю.csv в конце, они открываются в Excel, выглядя идеально. Это происходит как в IE, так и в Firefox (кроме octet-stream, что делает его открытым как обычный текст на новой веб-странице).

Что я делаю не так?

@taemon1337 @vladatnyc Parsing non-text files will result in undefined behavior. So how about a new config option called typeSafety which, if true, would keep the current, default behavior (true would be the default value). If false, however, the parser would not perform a type check, and parsing files of an unsupported type will result in undefined behavior. (But hey, you disabled the safety. Read on for a work-around.)

Right now, the type check is performed before calling the user’s before callback. I can reverse this so that the user’s before is called even before the type check, so your own code could inspect the file type and handle it accordingly in those cases where you may still want some sort of type checking, but you want it to be more lenient. (Update: actually, duh, if the type check is disabled, whether it is run before or after the user’s before is irrelevant.)

That sound alright?

Понравилась статья? Поделить с друзьями:
  • Application version excel 2010
  • Application username in excel
  • Application type for excel
  • Application to open word documents
  • Application templates for microsoft word