1

<cfspreadsheet>データベースクエリを Excel スプレッドシートに出力するために使用しています。これらのスプレッドシートを手動で作成すると、すべてのセルを強調表示して「表としてフォーマット」することができます。つまり、テーブル ヘッダーをクリックすると、ユーザーはテーブルを昇順または降順で並べ替えることができます。

Excel ファイルを生成するときに、ColdFusion コードでこのフォーマットを指定することはできますか?

4

1 に答える 1

1

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は中程度のサイズのクエリで失敗します

これはアドビでバグとして文書化されています

于 2013-04-26T14:38:44.027 に答える