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=[{列名:値,...}])。