在coldfusion中,cfspreadsheet隐藏标签不会保持隐藏状态

时间:2013-11-18 16:47:38

标签: coldfusion cfspreadsheet

我试图在CF 9中隐藏电子表格的标签,但该标签不会保持隐藏状态 我正在使用隐藏数据,然后使用CF函数保存worbook。

在使用spreadsheetsave之前我添加了以下内容:

sheetIndex = sObj.SHEETNUMBER - 1 ; // -1 its java 0 indexed ...vs cf 1 indexed 
poiObj= sObj.getWorkBook();
poiObj.setSheetHidden(javacast("int",sheetIndex), javacast("boolean", true));

这是一个我可以解决的错误吗?也许我需要直接从脚本中保存?

2 个答案:

答案 0 :(得分:0)

它适用于我,所以我怀疑代码中还有其他东西,我们看不到。您应该发布一个显示问题的SSCCE

在不知道更多的情况下,也许您正试图隐藏工作簿中唯一的工作表?必须始终可见工作簿中的至少一个工作表。

<cfscript>
    sheet = SpreadSheetNew("First Sheet");
    SpreadSheetCreateSheet(sheet, "Second Sheet");
    SpreadSheetCreateSheet(sheet, "Third Sheet");

    // note: this is an undocumented function
    wb = sheet.getWorkBook();
    sheetIndex = wb.getSheetIndex("Second Sheet"); 
    wb.setSheetHidden( javacast("int", sheetIndex), javacast("boolean", true));
    SpreadSheetWrite(sheet, "c:\path\someFile.xls", true);
</cfscript>

答案 1 :(得分:0)

经过调查,我试图隐藏当前的表格。通过将“活动工作表”更改为任何其他工作表,可以隐藏希望隐藏的工作表。

(当你(试图)隐藏当前的那张时,它不会自动地转到另一张纸上。 - 最后什么都不做。)