完成イメージ
CSVファイルの内容
id | title | url | category | create_date |
---|---|---|---|---|
1 | 【Flutter】header付きのListViewを実装する | https://yuyuublog.com/flutterheaderlistview/ | プログラミング | 2021年5月26日 |
2 | 【副業】開業freeeで開業届を出しました | https://yuyuublog.com/freee/ | ビジネス | 2021年5月24日 |
3 | Twitter右側の「いまどうしてる?」を非表示にする方法【拡張機能Stylus】 | https://yuyuublog.com/twitterstylus/ | その他 | 2021年5月24日 |
4 | Dartで数値と文字列の変換(文字列補間) | https://yuyuublog.com/dartinterpolation/ | プログラミング | 2021年5月23日 |
5 | 【Flutter】画面遷移でデータを渡す(クラス間の値受け渡し) | https://yuyuublog.com/flutterarguments/ | プログラミング | 2021年5月22日 |
画面イメージ

実装コード
コードはGitHubからも取得可能です。
https://github.com/yuyuu-dev/exsample_csv_read
説明
HTML
htmlにはメッセージ表示エリア、CSVファイル指定用のinput、結果表示用のテーブルを用意しています。
CSSはbulmaを利用することで簡単にデザインを整えています。
JavaScript
ファイル変更時のイベントonchange() でFileReader.readAsText()を利用してCSVファイルの内容を読み込みます。
今回のCSVファイルはExcelで作成しているため、Shift_JISを指定しています。
正しいエンコードを指定しないと文字化けするためご注意ください。
↑のreadAsTextにより、fileReaderのonloadが発火します。
ここでfileReader.resultからCSVファイルから読み込んだ文字列を取得できます。
あとは取得した文字列を改行コード、カンマで分割しながら配列に格納します。
配列に格納したCSVの内容をtbodyとして組み立て、テーブルとして設定します。
まとめ
以上で、JavaScriptでCSVファイルを読み込み、内容を表示することができます。
ありがとうございました!