2017-03-21 21 views
3

私はColdFusionを学習するプロセスにと私はspreadsheetFormatRows(spreadsheetObject, dataFormat, rangeOfRowsFormated)cfspreadsheetオブジェクトの行数はどのように定義できますか?

を使用してスプレッドシートで作業しようとしていますどのように私は、列名にあるヘッダー行を除くすべての行を含むように範囲を設定することができますか? cfspreadsheetオブジェクトの行数を返す関数があるので、範囲を '2-rowCount'に設定できますか?

私はspreadsheetFormatRows(theSheet, headerFormat, 2-50);を試して、うまく動作し、2から50までの行をフォーマットしますが、ハードコーディングしたくありません。

ありがとうございます。

+1

あなたがそれらを移入し、変数に値を保存すると行の数を追跡を行うことができます。簡単ですが、クエリー結果の場合は、cfqueryのrecordcount変数を使用します。 –

+0

はい、それはクエリであり、recordcountは完璧に機能します。私はそれを後で投稿を読むために来るそれらのための正しいものとしてマークすることができるように答えとして投稿してください。ありがとうございました。 – DoArNa

答えて

1

値を入力するときに行数を記録し、値を変数に保存します。簡単ですが、クエリー結果の場合は、cfqueryのrecordcount変数を使用します。

最後の行をフォーマットするために1を追加することを覚えておいてください。

3

スプレッドシートオブジェクトにはrowcountという属性があります。あなたはspreadsheetFormatRows(theSheet, format, "2-#theSheet.rowCount#");

<cfscript> 
    mySheet = spreadSheetNew("My Sheet"); 
    spreadSheetAddRow(mySheet, "'Col. A','Col. B','Col. C'"); 
    for(i=1; i <= RandRange(1, 100); i++){ 
     spreadSheetAddRow(mySheet, "'Row A#i#','Row B#i#','Row C#i#'"); 
    } 
    spreadSheetFormatRow(mySheet, {bold = true, fontsize = 24}, 1); 
    spreadSheetFormatRows(mySheet, {fontsize = 16}, "2-#mySheet.rowcount#"); 
    cfheader(name = "Content-Disposition", value = 'inline; fileName="test.xls"'); 
    cfcontent(type="application/vnd.ms-excel", variable="#spreadSheetReadBinary(mySheet)#"); 
</cfscript> 

Try Online

+0

最後の行をフォーマットするために1を追加する必要はありませんか? –

+0

@DanBracukスプレッドシートでは、ヘッダー行は他の行と同じです。 25項目と1ヘッダー行のデータセットがある場合は、スプレッドシートに26行ありますので、2-26。 1 +ヘッダの行数と同じ形式化された範囲の開始には、ハードコーディングされたオフセットがあります。 – Twillen

+0

あなたの答えを編集すれば、実際にそれを改善するでしょう。 –

関連する問題