Coldfusion 使用CFS电子表格应用条件格式

Coldfusion 使用CFS电子表格应用条件格式,coldfusion,coldfusion-10,cfspreadsheet,Coldfusion,Coldfusion 10,Cfspreadsheet,在上一篇文章的继续中,我已经非常接近我想要的地方,并且学到了很多。我在MSSQL Server 2008环境中处于CF10以下。我有一个报告,我正在使用cfspreadsheet生成,然后根据用户是否启用了应用程序,将其输出为“是”,如果不是,则在excel电子表格中输出为“否” 问题是,我需要让它看起来更容易一些,所以我想看看是否有可能应用条件格式,如果有3个不同应用的3列是Y,那么它将是绿色的,如果N,它将是红色的 任何建议或例子都会很好,谢谢 您正在寻找的函数是就像我提到的那样,如果您返回

在上一篇文章的继续中,我已经非常接近我想要的地方,并且学到了很多。我在MSSQL Server 2008环境中处于CF10以下。我有一个报告,我正在使用cfspreadsheet生成,然后根据用户是否启用了应用程序,将其输出为“是”,如果不是,则在excel电子表格中输出为“否”

问题是,我需要让它看起来更容易一些,所以我想看看是否有可能应用条件格式,如果有3个不同应用的3列是Y,那么它将是绿色的,如果N,它将是红色的


任何建议或例子都会很好,谢谢

您正在寻找的函数是

就像我提到的那样,如果您返回
值(而不是字符串),则应用自定义单元格格式很简单。但您必须使用电子表格功能,而不是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>

//构建示例查询
//注意:值必须是数字,而不是text/varchar
qData=queryNew(“”);
queryAddColumn(qData,“AppNameAlpha”,“bit”,listToArray(“0,0,1,0,1”));
queryAddColumn(qData,“AppNameBeta”,“bit”,listToArray(“1,1,0,0,1”));
//创建样本表
表格=电子表格新建();
电子表格添加行(表格,qData);
//应用彩色是/否格式
电子表格格式列(表格,{dataformat='[绿色]“Y”;[红色]“N”},“1-2”);
电子表格书写(表格“c:/path/to/sheet.xls”,真);
“dataformat”使用Excel自定义数字格式的前三部分:。翻译成:

 [Green]"Y";   // <positive values>: display "Y" in green
 ;             // <negative values>: do nothing extra
 [Red]"N"      // <zero values>: display "N" in red
[绿色]“Y”/:以绿色显示“Y”
;             // : 不要做额外的事
[红色]“N”//:以红色显示“N”

我的建议是为您打算使用的每种格式创建一个结构,包括plain jane。然后,使用条件逻辑选择正在使用的任何格式化函数中的结构。目前发布的答案中提到了其中两个。对不起,这正是我使用“电子表格功能”应用现有格式的原因。我这边有一些不好的术语。我会看看我能想出什么;再次感谢你的帮助,和李刚才说的差不多。我越是考虑我以前的答案,就越觉得最好将结果作为一个比特而不是文本传递,然后在代码中处理格式,特别是如果您想使用条件逻辑修改单元格颜色。Leigh的建议是可行的。:-)肖恩-是的,这是一个“取决于目标”类型的问题:)