csv文字列を選択⇒ブックマークレット起動⇒変換後の文字列がプロンプトへ出力される
※区切り文字はエクセルからコピペすることを意識してタブ文字です。
このコードは以下コードを使用しています。
JavaScriptでCSV読み込み(ダブルクォート内でのセル内改行に対応) - Qiita
CSV2TextileTable
javascript: (function () { var csvToArray = function (csvString) { var separator = '\t'; var columnSize = csvString.split(/\r\n|\r|\n/)[0].split(separator).length; var chars = Array.from(csvString.replace(/\r\n|\r|\n/g, '\n')); var csvList = []; var list = []; var queteOpenFlg = false; var buf = ""; for (var i = 0; i < chars.length; i++) { console.log(columnSize); if (chars[i] == '"') { queteOpenFlg = queteOpenFlg == false; } else { if ((chars[i] == separator || chars[i] == '\n') && !queteOpenFlg) { list.push(buf); buf = ""; if (list.length == columnSize) { csvList.push(list); list = []; } } else { buf += chars[i]; } } } console.log(csvList[0][0]); var csv = {}; csv.dataList = []; for (var i = 0; i < csvList.length; i++) { if (i == 0) { csv.header = csvList[i]; } else { csv.dataList.push(csvList[i]); } } return csv; }; var sel = window.getSelection(); if (!sel.rangeCount) return; var csv = csvToArray(sel.toString()+'\n'); var wikiString = "|_." + csv.header.join("|_.") + "|\n"; for (var i = 0; i < csv.dataList.length; i++) { wikiString += "|" + csv.dataList[i].join("|") + "|\n"; } javascript: void prompt('Make Textile Table', wikiString); })();
CSV2MarkdownTable
javascript: (function () { var csvToArray = function (csvString) { var separator = '\t'; var columnSize = csvString.split(/\r\n|\r|\n/)[0].split(separator).length; var chars = Array.from(csvString.replace(/\r\n|\r|\n/g, '\n')); var csvList = []; var list = []; var queteOpenFlg = false; var buf = ""; for (var i = 0; i < chars.length; i++) { console.log(columnSize); if (chars[i] == '"') { queteOpenFlg = queteOpenFlg == false; } else { if ((chars[i] == separator || chars[i] == '\n') && !queteOpenFlg) { list.push(buf.replace(/\n/g, '<br>')); buf = ""; if (list.length == columnSize) { csvList.push(list); list = []; } } else { buf += chars[i]; } } } console.log(csvList[0][0]); var csv = {}; csv.dataList = []; for (var i = 0; i < csvList.length; i++) { if (i == 0) { csv.header = csvList[i]; } else { csv.dataList.push(csvList[i]); } } return csv; }; var sel = window.getSelection(); if (!sel.rangeCount) return; var csv = csvToArray(sel.toString() + '\n'); var wikiString = "|" + csv.header.join("|") + "|\n"; for (var i = 0; i < csv.header.length; i++) { wikiString += "|:----"; } wikiString += "|\n"; for (var i = 0; i < csv.dataList.length; i++) { var line = "|" + csv.dataList[i].join("|") + "|\n"; wikiString += line; } javascript: void prompt('Make Markdown Table', wikiString); })();