ColdFusion と SpreadsheetNew、SpreadsheetAddRows、SpreadsheetFormatRows などの関数を使用して Excel ファイルを作成しています。ここにある私が読んだドキュメントによると、それらは色とfgcolorのプロパティです。2つの違いは何なのか、少し混乱しています。1 つはテキストの色で、もう 1 つは背景の色ですか? 行の背景色を設定するために fgcolor を使用しています。
// HEADER ROW FORMAT
formatHeaderRow = StructNew();
formatHeaderRow.fgcolor="royal_blue";
org.apache.poi.hssf.util.HSSFColor
私の主な質問は、ドキュメントによると、色クラスの任意の値を自分の色として指定できることです。ただし、HEX 値または RGB のいずれかを指定する必要があります。Excelのカラーピッカー内で入力できるので、Excelがそれを処理できることを私は知っています。行の色に HEX または RGB 値を入力する方法はありますか?
ありがとう!
アップデート
<cfscript>
// create XLSX workbook with a few cells
// and grab underlying POI objects
cfSheet = Spreadsheetnew("Sheet1", true);
poiWorkbook = cfSheet.getWorkBook();
poiSheet = poiWorkbook.getSheet("Sheet1");
// Create reusuable style objects
// NOTE: Excel limits the maximum number of styles allowed. So do not create a new
// style for every cell. Create distinct styles once, and apply to multiple cells/rows.
Color = createObject("java", "java.awt.Color");
// Style 1: Cell with background color (only)
backgroundOnlyStyle = poiWorkbook.createCellStyle();
backgroundOnlyStyle.setFillPattern( backgroundOnlyStyle.SOLID_FOREGROUND );
XSSFColor = createObject("java", "org.apache.poi.xssf.usermodel.XSSFColor");
backgroundOnlyStyle.setFillForegroundColor( XSSFColor.init(Color.decode("##055910")) );
// Apply styles to cell A1. Note: POI indexes are 0-based
SpreadSheetSetCellValue(cfSheet, "background color only", 1, 1);
poiSheet.getRow( 0 ).setRowStyle( backgroundOnlyStyle );
</cfscript>
<!--- stream it to the browser --->
<cfheader name="Content-Disposition" value="inline; filename=reportName.xlsx">
<cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#SpreadSheetReadBinary(cfSheet)#">