使用CF10 Standard从查询中创建电子表格。无论我到目前为止尝试过什么,特定列的格式在第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>
我正试图在'ADDED'列上获得一致的mm / dd / yyyy格式。相反,我通过第31行获得了这个,然后在行上获得了41937.56594这样的日期。
在公式栏中,我将“10/20/2014 12:25:23 PM”显示为第一个值,将“41932.552037037”显示为第二个值。
如果我在查询中格式化日期(即date_format(sp_add,'%c /%e /%Y')AS spadd)我在列中一直都有一个不错的日期格式,但是蓝色仍然停止在第32行。
这是匿名查询的cfoutput - 格式化顶行,底行丢失格式(背景颜色 - 查询中的格式化日期)。我现在也从查询中删除了ADDRESS2列。
答案 0 :(得分:4)
我不确定问题是什么,但尝试使用XML格式选项(生成xlsx文件而不是旧样式xls文件的选项)。在您的代码中,将“true”添加为您的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>
这将解决问题 - 虽然我们不知道原因:)