Coldfusion CFSpreadsheet在更新时丢失SpreadsheetAddFriezePane

Coldfusion CFSpreadsheet在更新时丢失SpreadsheetAddFriezePane,coldfusion,coldfusion-9,coldfusion-10,cfspreadsheet,Coldfusion,Coldfusion 9,Coldfusion 10,Cfspreadsheet,我正在尝试将电子表格添加到带有冻结窗格的工作簿中。如果操作为“写入”,则冻结窗格将工作,但如果我使用“更新”添加另一张工作表,则冻结窗格将不工作 <cfscript> theSheet = SpreadsheetNew(SheetName); SpreadsheetAddRows(theSheet,TheQuery); format2=StructNew(); format2.font="Arial"; format2.fontsize="10"; format2.colo

我正在尝试将电子表格添加到带有冻结窗格的工作簿中。如果操作为“写入”,则冻结窗格将工作,但如果我使用“更新”添加另一张工作表,则冻结窗格将不工作

<cfscript> 
theSheet = SpreadsheetNew(SheetName); 
SpreadsheetAddRows(theSheet,TheQuery); 
format2=StructNew();
format2.font="Arial"; 
format2.fontsize="10"; 
format2.color="Black;"; 
format2.italic="False"; 
format2.bold="true"; 
format2.alignment="left"; 
format2.textwrap="true"; 
format2.fgcolor="tan"; 
format2.bottomborder="thick"; 
format2.bottombordercolor="Black"; 
format2.leftborder="thick"; 
format2.leftbordercolor="Black"; 
format2.rightborder="thick"; 
format2.rightbordercolor="Black";  
SpreadsheetFormatRows(theSheet,format2,"1-2");
SpreadsheetFormatColumns(theSheet,format2,"1-3");
SpreadSheetAddFreezePane(theSheet,3,1);
</cfscript> 
<cfspreadsheet filename="#theFile#" name="theSheet" sheet="#SheetCount#" action="update" sheetname="#SheetName#"> 

表格=电子表格新建(表格名称);
电子表格添加行(表格、查询);
format2=StructNew();
format2.font=“Arial”;
format2.fontsize=“10”;
format2.color=“黑色;”;
format2.italic=“False”;
format2.bold=“true”;
format2.alignment=“left”;
format2.textwrap=“true”;
format2.fgcolor=“tan”;
format2.bottomborder=“thick”;
format2.bottombordercolor=“黑色”;
format2.leftborder=“thick”;
格式2.leftbordercolor=“黑色”;
format2.rightborder=“厚实”;
格式2.rightbordercolor=“黑色”;
电子表格格式行(表格格式2,“1-2”);
电子表格格式栏(表格格式2,“1-3”);
电子表格添加冻结窗格(表3,1);

听起来可能是个bug。除非使用
action=update
有特定的原因,否则我只会使用
action=write
。读入工作簿。添加新的工作表。激活它。然后将其写回磁盘

<cfscript> 
    theSheet = SpreadSheetRead( theFile );
    SpreadsheetCreateSheet( theSheet, sheetName );
    SpreadSheetSetActiveSheet( theSheet, sheetName );
    // ... code to add data 
    SpreadSheetAddFreezePane( theSheet, 3, 1 );
    SpreadSheetWrite( theSheet, theFile, true );
</cfscript> 

表格=电子表格读取(文件);
电子表格创建表格(表格,表格名称);
电子表格集活动表格(表格,表格名称);
// ... 添加数据的代码
电子表格添加冻结窗格(第3、1页);
电子表格书写(表格、文件、真实);
正如Adam在评论中提到的,您可能想要(并在此处发布错误编号,以便其他人可以对此进行投票)。

并且您应该提出一个错误@Leigh's是一个很好的解决方案,但它也应该按照您最初尝试的方式工作。