作为上一个主题的延续,我已经非常接近我想要的地方了,并且学到了很多。我使用的是MSSQL Server2008环境下的CF10。我有一个使用cfspreadsheet生成的报告,然后根据用户是否启用了应用程序,将其输出为"Yes“,如果没有,则在excel电子表格中输出为"No”。
问题是,我需要让它的眼睛更容易一点,所以我想看看是否有可能应用条件格式到哪里,如果3个不同的应用程序的3列是Y,那么它将是绿色的,如果N,它将是红色的。
任何建议或例子都会很棒,谢谢!
发布于 2013-08-02 03:29:03
就像我提到的in your other thread,如果返回bit值(而不是字符串),那么应用定制单元格格式就很简单。但是您必须使用电子表格函数,而不是cfspreadsheet (它不支持自定义格式)。
下面是一个扩展的示例,演示如何合并条件颜色格式:
<cfscript>
// build sample query
// note: values must be numeric and NOT text/varchar
qData = queryNew("");
queryAddColumn(qData, "AppNameAlpha", "bit", listToArray("0,0,1,0,1"));
queryAddColumn(qData, "AppNameBeta", "bit", listToArray("1,1,0,0,1"));
// create sample sheet
sheet = spreadsheetNew();
spreadsheetAddRows(sheet, qData);
// apply colorized yes/no format
spreadsheetFormatColumns(sheet, {dataformat='[Green]"Y";;[Red]"N"'}, "1-2");
spreadsheetWrite(sheet, "c:/path/to/sheet.xls", true);
</cfscript>“数据格式”使用Excel自定义数字格式的前三部分:。翻译:
[Green]"Y"; // <positive values>: display "Y" in green
; // <negative values>: do nothing extra
[Red]"N" // <zero values>: display "N" in red发布于 2013-08-02 02:40:17
您要查找的函数是SpreadsheetFormatCell()
https://stackoverflow.com/questions/18001836
复制相似问题