ColdFusionでCSVファイルの読込

ちょっとで追加の作業があったんでメモ。

ColdFusionCSVファイルを読み込みデータを復元する際に、データの中に”,”(カンマ)、”””(ダブルクォート)がある場合の対応。

対応方法としては、いくつかあるとは思うけど、探したらちょうどいいUDFが公開されてた。
めんどいし、自分では作りたくなかったけん、よかったわ。
ほんま、ありがたい。

CSVtoArray

CSVtoArrayでは、読み込むCSVのデータ部に”””(ダブルクォート)がある場合には、出力する際にエスケープをしておく必要がある。

<cfset csvitem = Replace("#csvitem#","""","""""","All")>

CSVtoArrayを使うには、ダウンロードしたファイルをIncludeするか、使う場所にコピーするか。

<cfinclude template="CSVtoArray.cfm">
<cffile action = "read" file = "#Form.File_Path#" variable = "Variables.CsvData">
<cfset Variables.CSVArray = CSVtoArray(Variables.CsvData)>
<cfloop index="i" from="1" to="#ArrayLen(Variables.CSVArray)#">
  ここで処理
</cfloop>

こんな感じかな。
あと、改行コードがデータ部にある場合はだめやったんで、CSV出力するときにエスケープ処理と同時になんかの文字に置き換えてる。

PS.
Syntax Highlighter for WordPress プラグインには、ColdFusionのHighlightは、ない。
wp-synhighlightにはあったわ。
やっぱマイナー言語なんやろな。