<cfspreadsheet>
データベースクエリを Excel スプレッドシートに出力するために使用しています。これらのスプレッドシートを手動で作成すると、すべてのセルを強調表示して「表としてフォーマット」することができます。つまり、テーブル ヘッダーをクリックすると、ユーザーはテーブルを昇順または降順で並べ替えることができます。
Excel ファイルを生成するときに、ColdFusion コードでこのフォーマットを指定することはできますか?
<cfspreadsheet>
データベースクエリを Excel スプレッドシートに出力するために使用しています。これらのスプレッドシートを手動で作成すると、すべてのセルを強調表示して「表としてフォーマット」することができます。つまり、テーブル ヘッダーをクリックすると、ユーザーはテーブルを昇順または降順で並べ替えることができます。
Excel ファイルを生成するときに、ColdFusion コードでこのフォーマットを指定することはできますか?
Coldfusion 9 を使用している場合は、SpreadSheetNew、SpreadSheetAddRow、SpreadSheetFormat 関数を使用して、データ セットから Excel スプレッドシートのスタイルを設定できます。
<cfset sObj = spreadsheetNew("myreport","yes")>
<cfset SpreadsheetAddRow(sObj, "Column_1, ... , Column27")>
<cfset SpreadsheetFormatRow(sObj, {bold=TRUE, alignment="center"}, 1)>
<cfset spreadsheetAddRows(sObj, qMyQuery)>
<cfheader name="content-disposition" value="attachment; filename=report_#Dateformat(NOW(),"MMDDYYYY")#.xlsx">
ただし、これは JVM に非常に負担をかける可能性があります。ヘッダー行に 2 つのスタイル (ボールド、テキスト センター) のみを適用して xls を作成するクエリがあり、700 行を超えるクエリはすべてシャットダウンします。 JVMメモリ損失によるサーバー全体...ここに私のSOの質問があります。関連するコード/回答SpreadsheetAddRowsは中程度のサイズのクエリで失敗します
これはアドビでバグとして文書化されています