Treść odpowiedzi wpisz jako CSV
Muszę wysłać plik CSV w odpowiedzi HTTP. Jak ustawić odpowiedź wyjściową jako format CSV?
To nie działa:
Response.ContentType = "application/CSV";
11 answers
Użycie text/csv
jest najbardziej odpowiednim typem.
Należy również rozważyć dodanie nagłówka Content-Disposition
do odpowiedzi. Często tekst / plik csv zostanie załadowany przez Internet Explorer bezpośrednio do hostowanej instancji programu Excel. Może to być pożądany rezultat lub nie.
Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv");
Powyższe spowoduje wyświetlenie okna dialogowego "Zapisz jako", które może być tym, co zamierzasz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-11 02:48:39
Typ MIME pliku CSV to text / csv zgodnie z RFC 4180 .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-16 18:47:19
Użyj text/csv
jako typu zawartości.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 07:37:31
Przez lata udoskonalałem idealny zestaw nagłówków do tego, które działają genialnie we wszystkich przeglądarkach, które znam
// these headers avoid IE problems when using https:
// see http://support.microsoft.com/kb/812935
header("Cache-Control: must-revalidate");
header("Pragma: must-revalidate");
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=$filename.csv");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-12 01:11:39
Spróbuj jednego z tych innych typów mime (stąd: http://filext.com/file-extension/CSV )
- wartości oddzielone przecinkami
- tekst / csv
- application / csv
- application / excel
- application / vnd. ms-excel
- application / vnd.msexcel
Również typ mime Może uwzględniać wielkość liter...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-26 09:37:12
Just Use like that
Response.Clear();
Response.ContentType = "application/CSV";
Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + ".csv\"");
Response.Write(t.ToString());
Response.End();
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-03 14:57:25
W ASP.net MVC, można użyć metody FileContentResult
i File
:
public FileContentResult DownloadManifest() {
byte[] csvData = getCsvData();
return File(csvData, "text/csv", "filename.csv");
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-25 11:35:41
Ustawienie typu zawartości i jej rozmieszczenia w sposób opisany powyżej daje bardzo różne wyniki w różnych przeglądarkach:
IE8: Zapisz okno dialogowe zgodnie z życzeniem, a Excel jako domyślna aplikacja. 100% dobry.
Firefox: pojawia się okno dialogowe SaveAs, ale Firefox nie ma pojęcia, że jest to arkusz kalkulacyjny. Proponuje otwarcie z Visual Studio! 50% Dobra
Chrome: podpowiedzi są w pełni ignorowane. Dane CSV są wyświetlane w przeglądarce. 0% dobra.
Oczywiście we wszystkich tych przypadki mam na myśli przeglądarki, ponieważ wychodzą z pudełka, bez dostosowywania mapowań MIME/aplikacji.
Proponuję wstawić znak ' / 'przed' myfilename.cvs "
Response.AddHeader("Content-Disposition", "attachment;filename=/myfilename.csv");
Mam nadzieję, że osiągniesz lepsze wyniki.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-13 21:59:36
Odkryłem, że problem z IE polega na tym, że wącha dane zwrotne i sam decyduje o tym, jaki typ treści myśli, że został wysłany. Istnieje wiele skutków ubocznych, które powoduje, takich jak zawsze otwieranie okna saveAs dla plików tekstowych, ponieważ używasz kompresji danych trasnferes. Rozwiązaniem jest (w kodzie php)......
header('X-Content-Type-Options: nosniff');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-24 19:21:21
W C # MVC 4.5 musisz zrobić tak:
Response.Clear();
Response.ContentType = "application/CSV";
Response.AddHeader("content-disposition", "attachment; filename=\"" + fileName + ".csv\"");
Response.Write(dataNeedToPrint);
Response.End();
return new EmptyResult(); //this line is important else it will not work.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-27 11:35:41