全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
緊急地震速報の取材を受けたりしました。
夕刊とはいえ、毎日新聞の1面トップでカラー写真入りだったのにはオドロイタ。
多分、生涯これっきりだろうな。凶悪犯罪でも犯さない限り。
さて、
クエリ結果をCSVでダウンロードさせる方法として、最近このUDF(ユーザー定義関数)を使ってます。
QueryToCSV2 (http://www.cflib.org/udf.cfm?ID=1197)
このUDFと<cffile>を使えば、えらい簡単にできちゃいますね。
特に、queryのフィールドの並び順を任意に変えて落とせるところがいいです。
やったことある人はわかると思いますが、CFQUERYで取得するレコードセットって、フィールドの並び順がアルファベット順になっちゃうので、わかりにくくなってしまいます。(※oracle+jdbcドライバの時だけかも)
使い方のサンプルとしては、こんな感じ。
#QueryToCSV2(クエリ名)#
だけでもいいですが、そうするとフィールドがアルファベット順に並んでしまいます。
#QueryToCSV2(クエリ名,'ダウンロードする人がわかるフィールド名','queryの実際のフィールド名')#
と、オプションをつけると、人に優しいcsvファイルになります。
簡単ですね。
夕刊とはいえ、毎日新聞の1面トップでカラー写真入りだったのにはオドロイタ。
多分、生涯これっきりだろうな。凶悪犯罪でも犯さない限り。
さて、
クエリ結果をCSVでダウンロードさせる方法として、最近このUDF(ユーザー定義関数)を使ってます。
QueryToCSV2 (http://www.cflib.org/udf.cfm?ID=1197)
このUDFと<cffile>を使えば、えらい簡単にできちゃいますね。
特に、queryのフィールドの並び順を任意に変えて落とせるところがいいです。
やったことある人はわかると思いますが、CFQUERYで取得するレコードセットって、フィールドの並び順がアルファベット順になっちゃうので、わかりにくくなってしまいます。(※oracle+jdbcドライバの時だけかも)
使い方のサンプルとしては、こんな感じ。
download.cfm
<!---UDF定義--->
<cfscript>
function QueryToCSV2(query){
http://www.cflib.org/udf.cfm?ID=1197 のソース
}
</cfscript>
<!--- DownLoadするクエリ --->
<cfquery datasource="ds" name="samplequery">
select NAME,ADDRESS,EMAIL from notice
</cfquery>
<!--- CSVファイルを、指定の場所に作る --->
<cffile action="write" file="d:\cf_wwwroot\download\sample.csv"
output="#QueryToCSV2(samplequery,'氏名,メールアドレス,住所','NAME,EMAIL,ADDRESS')#">
<!--- CSVファイルを落として、消す --->
<CFHEADER NAME="Content-Disposition" VALUE="inline; filename=sample.csv">
<cfcontent type="application/msexcel" file="d:\cf_wwwroot\download\sample.csv" deletefile="yes">
<!---UDF定義--->
<cfscript>
function QueryToCSV2(query){
http://www.cflib.org/udf.cfm?ID=1197 のソース
}
</cfscript>
<!--- DownLoadするクエリ --->
<cfquery datasource="ds" name="samplequery">
select NAME,ADDRESS,EMAIL from notice
</cfquery>
<!--- CSVファイルを、指定の場所に作る --->
<cffile action="write" file="d:\cf_wwwroot\download\sample.csv"
output="#QueryToCSV2(samplequery,'氏名,メールアドレス,住所','NAME,EMAIL,ADDRESS')#">
<!--- CSVファイルを落として、消す --->
<CFHEADER NAME="Content-Disposition" VALUE="inline; filename=sample.csv">
<cfcontent type="application/msexcel" file="d:\cf_wwwroot\download\sample.csv" deletefile="yes">
#QueryToCSV2(クエリ名)#
だけでもいいですが、そうするとフィールドがアルファベット順に並んでしまいます。
#QueryToCSV2(クエリ名,'ダウンロードする人がわかるフィールド名','queryの実際のフィールド名')#
と、オプションをつけると、人に優しいcsvファイルになります。
簡単ですね。
PR
この記事にコメントする
最新記事
(12/04)
(12/19)
(10/07)
(09/11)
(05/07)
(04/24)
(01/11)
(12/27)
(11/05)
(11/03)
ブログ内検索
カテゴリー
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新コメント
(05/20)
(03/15)
(05/25)
(02/07)
(12/19)
最新トラックバック
カレンダー
01 | 2025/02 | 03 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
ColdFusionリンク
アーカイブ
最古記事
(06/23)
(06/26)
(06/27)
(06/28)
(06/29)
(06/30)
(07/03)
(07/04)
(07/05)
(07/06)
なかのひと