CFSpreadSheet - 格式列在格式化整列(CFSpreadSheet - format

2019-10-21 05:18发布

使用CF10标准来创建一个查询的电子表格。 无论我到目前为止已经试过,对于一个特定列的格式停在列32(1个标题行,31个数据),即使整个工作表被填充到186行。

<cfscript>
 dfStyle=StructNew();
 dfStyle.fgcolor="pale_blue";
 dfStyle.dataformat="mm/dd/yyyy";
 theSheet = SpreadSheetNew('mysheet');
 SpreadSheetAddRow(theSheet,'SID,FIRST,LAST,ADDRESS1,ADDRESS2,CITY,STATE,ZIP,EMAIL,ADDED,PID');
 SpreadSheetAddRows(theSheet,qry);
 SpreadSheetFormatColumn(theSheet,dfStyle,10);
</cfscript>

我试图让的“增加”列一致毫米/ dd / yyyy格式。 相反,我得到通过排31,然后像41937.56594就行越来越日期。

在公式栏中我显示“二○一四年十月二十〇日下午12时25分23秒”作为第一个值和“41932.552037037”作为第二值。

如果我格式化查询的日期(即DATE_FORMAT(sp_add,“%C /%E /%Y”)AS spadd)我得到一个不错的日期格式下的列中的所有方式,但蓝色仍然排32停止。

这里是匿名查询CFOUTPUT - 顶行的格式,最后一行丢失格式(背景颜色 - 查询格式化日期)。 我也下降了从查询中ADDRESS2列了。

Answer 1:

我不知道是什么问题,但尝试使用XML格式选项(以产生XLSX文件,而不是老式的XLS文件的选项)。 在你的代码添加了“真”作为第二个参数给您spreadsheetnew()函数调用。

<cfscript>
 dfStyle=StructNew();
 dfStyle.fgcolor="pale_blue";
 dfStyle.dataformat="mm/dd/yyyy";

 theSheet = SpreadSheetNew('mysheet',TRUE);

 SpreadSheetAddRow(theSheet,'SID,FIRST,LAST,ADDRESS1,ADDRESS2,CITY,STATE,ZIP,EMAIL,ADDED,PID');
 SpreadSheetAddRows(theSheet,qry);
 SpreadSheetFormatColumn(theSheet,dfStyle,10);
</cfscript>

这将解决这个问题 - 尽管我们不知道为什么:)



文章来源: CFSpreadSheet - format column not formatting the entire column