• ベストアンサー

csv形式のファイルをダウンロードさせたいのですが。

はじめまして。MySQLとJSPを用いて、サイトページを構築する勉強をしているものです。まだ初心者ですが、行き詰まったので、是非教えていただきたいです。 現在、データベースに登録されているテーブルをcsv形式のファイルとしてダウンロードできるような仕組を考えているのですが、いい方法が思い付きません。そのページでは毎回選択されたテーブルを表示させているのですが、そこにそのテーブルのcsvファイルをダウンロードできるようにしたいのです。 select * into outfile ~を使用して、csv形式を作成したものをHTMLタグを使用してダウンロードするといった方法では何が足りないでしょうか?? ちなみにこれでは、select * into outfileで一度指定したファイルを作成してしまえば、既に存在するファイルとして新たに書き込めなくなるんではないかと既に困っています。 是非、教えていただきたいと思っています。よろしくお願いします。

  • MySQL
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 13B-RE
  • ベストアンサー率50% (2/4)
回答No.2

私もJSPについては無知ですが・・・ *.jspのヘッダ部分を以下のようにすればいいかも //ダウンロード前に表示するダイアログの指定 header("Content-Type: application/octet-stream") //ダウンロード前に表示するダイアログの指定[ファイル名+.csv]と指定 header("Content-Disposition: attachment; filename="ここにファイル名.csv") 以下DB接続云々~~

naito238
質問者

お礼

ご回答ありがとうございます。 詳しく詳細まで感謝いたします。 私も今そこを調べているのですが、一度試してみたいと思います。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

jspについての知識はありませんが、通常webベースでcsvを出力する際には httpヘッダーを出力した上で、本文を出力すればよいと思います

naito238
質問者

お礼

遅くなりました。 まずはヘッダー部分から調べていきたいと思います。 ありがとうございました。

関連するQ&A

  • mysqlのcsvファイル出力について

    今jspファイルでボタンを押すとサーバーにあるデータベースの結果をcsvファイルとして保存するファイルを作りました。 今、作業用のパソコンからテラタームを使い、リモート接続で作業をしています。 なので出力するcsvファイルをサーバーの方ではなく、作業用のパソコンに落としたいのですが、方法はないですかね? 今はjspのほうでSELECT * FROM テーブル名 INTO OUTFILE のコマンドをmysqlに送っています。 phpmyadminで接続してそこからcsvファイルを落とすと閲覧しているパソコンに落ちるようになってるのでそ それができたらなと思います。 何かいい方法はないでしょうか? よろしくお願いします。

  • javaのcsvダウンロードについて

    javaについてです。 現在 http://www58.atwiki.jp/chapati4it/m/pages/143.ht … このサイトのcsvファイルをダウンロードするプログラムを作りました。 そこで このサイトではString[][] rows =に 値を入れていますが、その前にデータベースに接続して getStringで値をとってきてString型に入れてそれをcsvとして表示させたいのですが、どうすればよいですか? jspでデータベースの内容を表示させるものはもともと作ってあって、 Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/データベース名?" + "user=ユーザー&password=パスワード&useUnicode=true&characterEncoding=utf8"); request.setCharacterEncoding("utf8"); Statement st=conn.createStatement(); ResultSet res = st.executeQuery("select * from テーブル名 "); これを書いて、getStringで受っとてやればいいのかなと思うのですが... できれば一個のファイルにまとめたいのですが、わかる人よろしくお願いします。 javaの知識が不十分です。すいません

  • PHPでMySQLのデータのインポート&SELECT結果のダウンロード

    こんにちは。いつもここにはお世話になっています。 ご質問が何点かあって申し訳ないのですが、簡単に作ろうとしているスクリプトを説明すると一日一回夜中にCSVかTEXT形式でデータがアップされます。それをMysqlの指定したテーブルにインポートします。その際前日のデータは全て削除します。作られたCSVファイルも削除したいんです。翌日にそのインポートされたデータを検索し必要に応じて検索されたデータをダウンロードできるようにしたいんです。ダウンロードするファイルはCSVでファイル名はテーブル名に検索した時の時間をつけた名前。これを全てPHPで行いたいんです・・・。 現在検索とSSHでログインしてのMysqlにインポートはできました。ダウンロードはまだ挑戦していないのですが、まずファイルを作ることとPHPでのデータのインポートができるのかわかりません。 質問なのですが、 1.分かりにくいのですが、上記のようなことはPHPで可能でしょうか? 2.データのインポートはPHPではどのようにしたらいいのでしょうか? 3.テーブル内のデータの削除はDELETEを使えば可能なのはわかりましたが、指定したフォルダ内のファイルを削除する方法はありますか? 4.SELECTで検索したデータが画面に表示されダウンロードできるようにファイルを作るのに $sql = "SELECT * FROM テーブル名 WHERE フィールド = \"条件\" "; $sql .= "INTO OUTFILE \"/home/パス/テキスト.CSV(or txt)\""; $res = mysql_query($sql); とスクリプトを記述しましたが出来ませんでした。 SShでmysqlにログインをして mysql> SELECT * FROM テーブル名 WHERE フィールド = '条件' -> INTO OUTFILE '/home/パス/テキスト名.txt'; とするとできたのですが、単純にこれをSELECT等と同じようにしたらダメなのでしょうか? 質問が多く申し訳ないのですが、ご教授をよろしくお願いします。

    • ベストアンサー
    • PHP
  • データベース単位でのCSV出力方法について

    データベース単位でのCSV出力方法について phpからデータベースのバックアップ機能として、 データベース単位でCSV出力を行いたいと思っています。 テーブル単位で出来る記事は見受けられるのですが、 上記の方法は可能でしょうか? それともう一つお聞きしたいことがあります。 SQL文が格納された変数をexec関数で実行しているのですが、 直接phpmyadminでは成功するのにもかかわらず、 csvファイルが生成されません。 下記にSQL文を記しておきます。 --SQL文-- select * from users into outfile "C:/works/~中略~/dump_0426.csv" fields terminated by ',' ENCLOSED BY '"' ご教授よろしくお願い致します。 【環境】 DB:mysql5.0.51b-community PHP:5.2.6

    • ベストアンサー
    • MySQL
  • CSVでダウンロードする

    環境:WinXP,PHP5,MySQL5,Apache2 特定のファイルそのもの(例:ABC.txt)をダウンロードするPHPは書けるのですが、あるファイル(MySQL)があり、これを抽出条件をかけて並び順を変え、ファイル形式をCSVでダウンロードする部分ができません。 1.SQL文を発行する--この時CSV形式になるのか、わかりません。 2.ファイルを作成する(サーバに保存) 3.そのファイルをダウンロードする という手順になると思います。 参考になるサイト、書籍、アドバイスいただけると幸いです。 また、サイトで公開するので上記2の「2.ファイルを作成する」部分が多数の方が一定時間内にダウンロードした場合も心配です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • DBからのCSVファイルダウンロード

    MySQLに溜めたデータをCSV形式でダウンロードしたいと思っていますが、ダウンロードしたファイルが文字化けして困っています。 PHP、DBともにEUCで作成しているのですが、プログラムの中に文字コードに関する記述が必要になるとは思うのですが、何を追加すればいいのか教えていただけますでしょうか?

    • ベストアンサー
    • PHP
  • CSVファイルをMYSQLにインポート

    先日からMYSQL+PHPの勉強をはじめました。 データベース構築の際、以前作成したCSVファイルをMYSQLのテーブルとして 利用したいと考えております。 そこで、MYSQLコマンドより、 LOAD DATA LOCAL INFILE 'ファイル名.csv' INTO TABLE テーブル名 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; Query OK, 0 rows affected (0.04 sec) Records: 102 Deleted: 0 Skipped: 102 Warnings: 0 とCSVファイル自体が悪いのかSQL文に問題がるのかインポートがうまくいきません。。 ちなみにCSVは  0,2011/6/2 0:00,80.94,81.32,80.55,80.92 0,2011/5/25 0:00,81.94,82.17,81.8,81.95 0,2011/5/23 0:00,81.77,82.04,81.32,81.99 環境はphpdevで一括でインストールした phpadmin: バージョン2.3.2 MYSQL: MySQL4 apache: 1.3.27 初心者で基本的な質問かもしれないですがどうかご教授お願いします。

    • ベストアンサー
    • MySQL
  • csv形式でダウンロードさせたいのですが。

    はじめまして。 今回、JSPでデータベースからもってきた情報をcsvでダウンロードさせる仕組をかんがえているのですが、まずは簡単にダウンロードできるのか試しているのですが、ダウンロードまではできたのですが、中身がjspのファイルのコードがそのまま表示されてしまいます。 初心者なので、是非アドバイスをお願いしたいです。 よろしくお願いします。 以下そのコードです。 <%@ page import="java.io.*, java.util.*, java.sql.*, javax.sql.*, javax.naming.*" %> <html> <head> </head> <body> <% response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition","attachment; filename=kibou.csv"); out.println("a,b,c,d"); %> </body> </html>

  • CSV形式にしてダウンロードするには?

    私はperlとMySQLを使ってインターネットサイトを作っている者です。 プレゼントの申込者をDBに格納しています。 それを何とかcsv形式でインターネットからダウンロードするような仕組みを考えているのですが、思い付きません。 どうかサンプルソースなどをご存知の方は教えて頂けないでしょうか? またその他にエクセルなど、他のファイルだったら簡単だよという情報もお待ちしております。 宜しくお願いします。

  • CSVダウンロードができない

    ASPファイルで作成したページからMS-SQLのデータベースのデータをダウンロードするページを作成したのですが、 OSがWindows2000の環境だけが、インターネットから CSVダウンロードしようとするとファイルを任意のところに 保存することができず、ExcelのシートがIE上に開き表示されるだけなのですが、ダウンロードするためにはどのようにすれば解決しますか? サーバー上のIISの設定が悪いのか、PC側の設定が悪いのか情報があったら教えてください。