前提・実現したいこと
外部にあるCSVファイルを取得してブラウザに表示したいです。
下記、イメージ画面です。とあるURLを参考にしました。
縦になってしまうので分割して横に表示しています。
本来ならば上下で表示されています。
画像の用にCSVの中身をそのままテキストでブラウザに表示したいと考えております。
該当のソースコード
Html
1 <input type="file" name="file" id="file"/> 2 <div id="result"></div>
Javascript
1$(function () { 2 var file = document.getElementById('file'); 3 var result = document.getElementById('result'); 4 5 // File APIに対応しているか確認 6 if (window.File && window.FileReader && window.FileList && window.Blob) { 7 function loadLocalCsv(e) { 8 // ファイル情報を取得 9 var fileData = e.target.files[0]; 10 console.log(fileData); // 取得した内容の確認用 11 12 // CSVファイル以外は処理を止める 13 if (!fileData.name.match('.csv$')) { 14 alert('CSVファイルを選択してください'); 15 return; 16 } 17 18 // FileReaderオブジェクトを使ってファイル読み込み 19 var reader = new FileReader(); 20 // ファイル読み込みに成功したときの処理 21 reader.onload = function () { 22 var cols = reader.result.split('\n'); 23 var data = []; 24 for (var i = 0; i < cols.length; i++) { 25 data[i] = cols[i].split(','); 26 } 27 var insert = createTable(data); 28 result.appendChild(insert); 29 } 30 // ファイル読み込みを実行 31 reader.readAsText(fileData, 'Shift_JIS'); 32 } 33 file.addEventListener('change', loadLocalCsv, false); 34 35 } else { 36 file.style.display = 'none'; 37 result.innerHTML = 'File APIに対応したブラウザでご確認ください'; 38 } 39 40 function createTable(data) { 41 var table = document.createElement('table'); 42 for (var i = 0; i < data.length; i++) { 43 var tr = document.createElement('tr'); 44 for (var j = 0; j < data[i].length; j++) { 45 var td = document.createElement('td'); 46 td.innerText = data[i][j]; 47 tr.appendChild(td); 48 } 49 table.appendChild(tr); 50 } 51 return table; 52 } 53});
試したこと
現在、CSVファイルを取得してブラウザに表示するところまではできています。
ですが、このよう形で画面に表示されています。
これをイメージ画像のようにCSVの中身をテキストでブラウザに表示するにはどのようにしたら良いでしょうか?
補足情報(FW/ツールのバージョンなど)
Microsoft Visual Studio2010
.NET Framework4
追記:解決できなかったため
http://bbs.wankuma.com/index.cgi?mode=al2&namber=98029
でも質問させていただきました。