質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

13553閲覧

JavaScriptでCSVファイルを作成したい

minyouyuu

総合スコア39

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/11/14 14:51

JavascriptでCSVファイルを作成したいのですが、方法が全く分かりません。

javascript csvで検索しても、どういう処理でcsvファイルを作成しているのか全く分かりません。

C言語ですと、簡単にcsvファイルが作成できたと思うのですが...

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>CSVテスト</title> 6 <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> 7 <script type="text/javascript" src="csv.js"></script> 8</head> 9<body> 10 <script> 11 test("neko"); 12 </script> 13</body> 14</html>

JavaScript

1csv.js 2function test(str) { 3 // strをcsvファイルに出力したい 4}

この場合ですと、"neko"という文字をcsvファイルとして保存させたいです。
そのための処理をtest()に実装したいのですが、全く方法が分かりません。

「javascript csv」などで検索し見つけた方法は一通り試しましたが、うまくいきませんでした...

参考になるURLだけでも構いません。
ご助言のほど、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

JavaScript CSV 出力

でググれば簡単に見つかるのでは?

JavaScript のデータを CSV で保存する

JavaScript側でどうデータを持っているか、程度は質問にあった方が良いです。

投稿2019/11/14 14:59

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minyouyuu

2019/11/24 05:20

ご回答、ありがとうございます!すみません、今後は質問内容を詳しく書くようにいたします...URL、ありあがとうございます。結局jsではなくPHPで実装したのですが、今後jsを使う際は参考にさせていただきます!
guest

0

ベストアンサー

strをcsvファイルに出力したい

ご質問の内容を

  1. str->csv に整形
  2. 整形したcsvをファイルに保存

という工程に分けて考えます。

str->csv に整形

  1. 文字列処理して、CSVに変換しやすい配列を作成する。
  2. Orlofsky さんの回答にあるリンク先の例を参考に配列をCSV(string)に整形する。

整形したcsvをファイルに保存
こちらも、Orlofsky さんの回答の解説に過ぎません(追記

ご提示のコード test("neko") が 1行1列のデータしかない整形済みのCSVと考えますと、あとはファイルとして保存する方法になります。

ブラウザで実現する場合、http(s): で表示されるページ限定になりますが、ファイルのダウンロード機能を実装して誤魔化します。原理はこちらの記事 が参考になるかと思います。

検索に「ダウンロード」というワードも含めないと見つかりにくい事例だったと思います。

追記)
コメントでもご指摘を頂いております。
取り扱うCSVのサイズによっては、サーバー側での処理をご検討ください。

投稿2019/11/17 03:09

編集2019/11/24 06:17
AkitoshiManabe

総合スコア5432

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minyouyuu

2019/11/24 05:24

丁寧なご回答ありがとうございます!今回は結局phpでcsvを作成することになったのですが、今後jsを使う際には参考にさせていただきます。本当にありがとうございました!
dameo

2019/11/24 05:50

水をさすようで恐縮ですが、個人的な意見だけ伝えておきます。 一般にCSVファイルは、DBから引っ張ってきた大きなデータになりがちなので、鯖がPHPでクライアントがHTML+JavaScriptという形だったら、個人的にはphpでダウンロードさせた方が素直で簡単だと思います。 ブラウザ上のHTML+JavaScriptでCSVを出力するならば、何かブラウザ上にしかない(小さい)データをCSVファイルとして保存したい(ダウンロードしたい)という特殊な目的でない限り、やめたほうが賢明だと思います。小さいものに限定するのはブラウザ上だからで、あまりオススメしないのは標準APIだけで実現できず、ブラウザを意識しないといけないからです。 JavaScriptでCSVファイルを保存するとしたら、主にnode.jsのようなサーバ側でJavaScriptを使用するケースかと思います。 ※この辺の意見は人によって見解が変わるところなので、他の人は違う意見かもしれません。ご参考までに。
AkitoshiManabe

2019/11/24 06:16

minyouyou さん、「BA は私よりも…」というのが本音です。 dameo さん、おっしゃる通りです。サイズによってはサーバーサイドに任せることを考えるべきですね。 ブラウザ上にしかない(小さい)データのつもりでの回答でしたが、貴重なご意見なので、追記させていただきます。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問