• ベストアンサー

DBをエクセル表にしたい

失礼いたします。 javatea_1985と申します。よろしくお願いします。 今、SQLを用いて管理しているデータベース(テーブル)に、次の機能を追加したいと思います。 つまり、ボタンをクリックするとExcelで結果が開くような機能(CSV機能)を追加したいです。 ところが、ここ3日くらい調べているのですが何らかのソフトをインストールする方法しか見つからず、コードを自分で書くようなサンプルは見つかりません。。・゜ °・(><)・° ° ・。 どこかいいサイトを教えていただけませんでしょうか?よろしくお願いします。m(__)m

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

  • ベストアンサー
noname#182251
noname#182251
回答No.1

言語が書いてありませんが多分お名前からしてjava? javaは知らないので、以前デルファイで書いたコードをそのまま。ご参考までに procedure TWPMFilterExecForm.Button2Click(Sender: TObject); var XlsFname:string; i,j,xRowCount,xColCount:integer; ra,Excel,ExcelApp,WorkBook,OLEArray : Variant; begin xlsFName:= ExtractFilePath(Application.ExeName); XlsFname:= xlsFName+PaternsADODataSet.FieldValues['PaternName']+'.xls'; ProgressBar1.Visible:=True; with StringGrid1,ProgressBar1 do begin if RowCount=1 then Exit; Max:=RowCount; screen.Cursor:=crHourGlass; SysUtils.DeleteFile(XLSFname); Excel := CreateOleObject('Excel.Application'); ExcelApp := Excel.Application; ExcelApp.Visible := false; WorkBook := ExcelApp.WorkBooks.Add; xColCount:=ColCount; xRowCount:=RowCount; OLEArray:=VarArrayCreate([0,xRowCount,0,xColCount],varVariant); for i:=0 to RowCount-1 do begin Position:=i; for j:=1 to ColCount-1 do OLEArray[i,j-1]:=Cells[j,i]; end; ra := Workbook.Sheets[1].Range [Workbook.Sheets[1].Cells[1, 1], Workbook.Sheets[1].Cells[RowCount,ColCount]]; ra.Value := OLEArray; Workbook.close(True,XLSFname,); screen.Cursor:=crDefault; beep; end; ProgressBar1.Visible:=False; end;

javatea_1985
質問者

補足

ありがとうございます! そうです。Javaをやっております。 そのため、好きでもないJavateaを毎日飲んでおります。 デルファイの基礎知識がないので少し難しいですが、通じるものはあるのだと思います。 エクセル関連の記述場所がExcelAppとなっていて分かりやすいですね。ありがとうございました。m(__)m

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

Office2003を使っているなら下記を参照してくみてください。

参考URL:
http://www.javaworld.jp/technology_and_programming/-/10977.html
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

SQLの作業というよりはミドルウェアやアプリケーション としての作業でしょうね。 たとえばMySQLとPHPを組み合わせれば、CSVの 出力は普通にできますし、PEARなどと組み合わせて 直接エクセルのファイルを出力することもできます。

javatea_1985
質問者

補足

ご解答ありがとうございます。 PEARがなんなのか知りませんが、調べてみます。 ただ、Javaなら少しは分かるのですが、PHPは全く分かりません。JavaとMySQLを組み合わせてエクセルファイルを出力する方法はありますか? また、SQLyogを使っているのですが、MySQLを使った方がいいですか?周りに教えてくれる人がいないんで、よろしくお願いします。o(^ー^)o

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2

んー。。。詳しい状況が分からないのであれですが。。。 ̄▽ ̄ まぁ、十分実現可能なことではありますよね(まぁソフトを落とせばできる。んですしww とりあえず >>SQLを用いて管理しているデータベース がイマイチ? 物によってSQLの書き方もかなり変わりますし。。。 ・SQLServer ・オラクルSQL ・MYSQL などの種類。。。と思っていいんですかね? (SQLを使って管理しているDB。。。の認識自体が違ったらあれですけど^^; 基本的な流れ?としては、 ・DBに接続する。 ・表示する値を取り出す。 ・表示する。 ・DBを接続する。 ですかね? 接続も種類は様々ですし、表示する値を取り出すのも、SQL文なので、物によってバラバラだったりしますが。。。 あー。ちなみに、ここまで書いて1番の回答者がいる。というのに気づいたので補足(?)ですが、下記アドレスで。。。というのでしたら、Excelを起動した状態で、ボタンを押したらDBの内容をExcelに書き出し、CSV保存は自分の手で。。。という形になるかな?と思いますので。。。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_130.html

関連するQ&A