我试图在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));
这是一个我可以解决的错误吗?也许我需要直接从脚本中保存?
答案 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)
经过调查,我试图隐藏当前的表格。通过将“活动工作表”更改为任何其他工作表,可以隐藏希望隐藏的工作表。
(当你(试图)隐藏当前的那张时,它不会自动地转到另一张纸上。 - 最后什么都不做。)