xlsx入門(歴史 / ルール / サンプル / export / import)

ブラウザだけで xlsx書き出しxlsx読み込み を体験できます(アップロード不要)。

拡張子:.xlsx
形式:ZIP + XML
MIME:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Server xlsx:OFF

解説

xlsxの歴史

xlsx(.xlsx)は、Office Open XML(OOXML)のスプレッドシート形式です。ZIPコンテナ内にXML群を格納する設計で、Office 2007以降に普及しました。

  • OOXMLはECMA-376(2006)→ ISO/IEC 29500(2008)として標準化
  • xlsxはZIP + XML(SpreadsheetML)で構造化され、差分管理・生成・解析がしやすい
  • 従来のxls(バイナリ)と比べて、ツールで扱いやすい一方、仕様が巨大で実装が大変
ポイント:xlsxは“Excelの見た目”よりも“ZIPに入った部品(XML)”として捉えると理解が速いです。

xlsxのルール(実務の観点)

仕様を全部読むより、互換性と事故を避けるための“現場ルール”を押さえるのが近道です。

  • シート名:長すぎ/禁則文字/重複を避ける(Excel互換)
  • 日付:内部はシリアル値(1900/1904システム差)+表示形式
  • 文字列:sharedStringsに集約されることが多い(実装による)
  • 数式:セル値と数式は別。再計算は開く側に依存する場合がある
  • 大量データ:スタイル多用・画像・図形はファイル肥大化の原因
運用ルール:まずは“互換性(Excel/LibreOffice/Google Sheets)”を基準に制約を決めるのが安全です。

サンプル(表データ)

このサンプルを使って、ブラウザでxlsxを書き出し→読み込み→HTML表示までを体験できます。

id name score created_at
1 Chiaki 98 2026-02-01 10:00:00
2 Pra-chan 88 2026-02-02 11:00:00
3 ROBO 92 2026-02-03 12:00:00
4 Rina 90 2026-02-04 13:00:00
用途:JSON → xlsxエクスポート → xlsxインポート → 表示、の一連を確認します。

xlsxのエクスポート(ブラウザ/サーバー)

ブラウザ側はSheetJS(CDN)で簡単に生成できます。サーバー側はPhpSpreadsheetがある場合に限り生成できます。

  • ブラウザ:JSでデータ配列→ワークブック化→ダウンロード
  • サーバー:PHPで生成してContent-Typeを付けて返す(要ライブラリ)
  • ファイル名:日付や用途を含める(例:export_20260207.xlsx)
このページは“ブラウザ実演”を標準搭載。サーバー実装は環境により自動でON/OFFします。

xlsxのインポート(ブラウザ/サーバー)

インポートもブラウザ側はSheetJSで可能。サーバー側で解析する場合はPhpSpreadsheet等を使います。

  • ブラウザ:ファイル選択→ArrayBuffer→解析→HTML表示
  • サーバー:アップロード→解析→JSON化など(要ライブラリ)
  • 注意:個人情報を含むxlsxはブラウザ処理(ローカル完結)が安全
このデモは“アップロード不要”で動きます(ブラウザ内で完結)。

デモ(ブラウザ実演 / サーバー実装)

1) ブラウザで xlsx エクスポート

サンプルデータ(id/name/score/created_at)を xlsx にしてダウンロードします。

SheetJS(CDN)が読めない環境では動きません。

2) ブラウザで xlsx インポート

xlsx を選ぶと、先頭シートを読み込んで表として表示します(ローカル処理)。

3) サーバーで xlsx エクスポート(任意)

PhpSpreadsheet がある場合だけ xlsx を返します。無い場合はJSONで「未対応」を返します。

4) サーバーで xlsx インポート(任意)

PhpSpreadsheet がある場合だけアップロード→解析→表表示します。

個人情報を含むxlsxは、基本はブラウザ処理(アップロード不要)推奨。

プレビュー

準備中…