CSVファイルダウンロードのContent-Type

CSVファイルの配信や送信用のContent-Typeヘッダーを設定します。text/csvのcharset、Content-Disposition、Excel互換性を解説します。

File Uploads

詳細な説明

CSV Content-Type

CSV(カンマ区切り値)ファイルはtext/csvメディアタイプを使用します。非ASCIIデータにとって適切なcharset宣言が重要です。

ヘッダー値

Content-Type: text/csv; charset=utf-8

headerパラメータ

headerパラメータは最初の行にカラム名が含まれるかどうかを示します:

Content-Type: text/csv; charset=utf-8; header=present

値:presentまたはabsent

ダウンロードのトリガー

ブラウザにCSVを表示するのではなくダウンロードさせるには:

Content-Type: text/csv; charset=utf-8
Content-Disposition: attachment; filename="export-2025-01.csv"

Excel互換性

Microsoft ExcelはUTF-8エンコーディングを正しく検出できない場合があります。互換性を確保するため、CSVコンテンツの先頭にUTF-8 BOM(バイトオーダーマーク)を付加します:

const BOM = "\uFEFF";
const csvContent = BOM + "Name,Email\nJohn,john@example.com";

代替:タブ区切り値

タブ区切りファイルの場合:

Content-Type: text/tab-separated-values; charset=utf-8

curlの例

# CSVエクスポートのダウンロード
curl -H "Accept: text/csv" \
  -o report.csv \
  https://api.example.com/reports/monthly.csv

fetch()でのレスポンス処理

const response = await fetch("/api/export.csv");
const blob = await response.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "export.csv";
a.click();

ユースケース

APIからのCSVエクスポートの配信、データエクスポート機能の構築、スプレッドシートアプリケーションとの連携時に使用します。レポートダッシュボード、分析プラットフォーム、データパイプラインエンドポイントで一般的です。

試してみる — Content-Type Header Builder

フルツールを開く