← TssGrid/例一覧

TssGrid 例: CSV読込 サンプル + PapaParse

CSV の読込PapaParse(MIT)が定番。素朴な split(',') では壊れるクォート内のカンマ・改行・"" エスケープ(RFC4180)を正しく解き、文字コード指定(Excel が吐く Shift_JIS もそのまま読める)・巨大ファイルのストリーミング/Workerまで面倒を見てくれます。TssGrid コアは CSV 入力を内蔵しません(出力は downloadCSV 内蔵 / 簡単な取り込みは Excel からの貼り付けで足りるため)ので、パースは PapaParse に委譲。
1行目を見出し、2行目以降をデータとして setData でグリッドに反映します。下の「サンプルCSVを読込」でクォート/改行入りの round-trip を確認、または実ファイルを選択(D&D可)して取り込めます。出力は inventory.html の「CSV出力」で。

差し込み(要点)

// PapaParse が RFC4180 を解く(クォート内カンマ/改行/"" を正しく分割)
Papa.parse(file, {                       // file は File でも 文字列でもOK
  encoding: 'shift-jis',                 // Excelの.csv(無指定=UTF-8)。Fileのみ有効
  skipEmptyLines: 'greedy',              // 空行・空白だけの行を捨てる
  complete: (res) => {                   // res.data = 行の配列(各行は列の配列)
    const rows = res.data;
    const headers = rows.shift();        // 1行目=見出し
    new TssGrid(host, { headers, data: rows });   // ← グリッドに反映
  },
});
// 大容量は worker:true / step:(row)=>... でストリーミング。
// 1行目をキーにオブジェクト配列で欲しい時は header:true(res.data=[{列名:値,...}])。