Coldfusion cf1电子表格和修改选项卡内容,更新时存在获取选项卡

Coldfusion cf1电子表格和修改选项卡内容,更新时存在获取选项卡,coldfusion,cfspreadsheet,Coldfusion,Cfspreadsheet,我试图将电子表格的“命名选项卡”读入表中,更新值,然后将它们保存回同一选项卡,我试图查看电子表格函数中是否只有我或某些奇怪的内容,伪代码如下。(我不认为我有编码问题,但有cf限制?特定的冷截留(稍后可能添加)) cf1电子表格读取sheetname查询 转储查询--确定 更新查询和转储--确定 cfspreadsheet update sheetname查询--失败,已经有sheetname为-duh的工作表- (另请参见电子表格写入--失败) 为了让它发挥作用,我求助于 阅读标签 修改选

我试图将电子表格的“命名选项卡”读入表中,更新值,然后将它们保存回同一选项卡,我试图查看电子表格函数中是否只有我或某些奇怪的内容,伪代码如下。(我不认为我有编码问题,但有cf限制?特定的冷截留(稍后可能添加))

  • cf1电子表格读取sheetname查询
  • 转储查询--确定
  • 更新查询和转储--确定
  • cfspreadsheet update sheetname查询--失败,已经有sheetname为-duh的工作表-
  • (另请参见电子表格写入--失败)
为了让它发挥作用,我求助于

  • 阅读标签
  • 修改选项卡
    • 阅读工作簿--新变量
    • 删除工作表--新变量
    • 保存工作簿--新变量--磁盘版现在SAN选项卡
  • 更新工作簿添加工作表--使用仅保留修改选项卡的var
--这似乎是可怕的资源密集型。。。而且很傻

  • Forta示例似乎仅适用于单页工作簿
提前谢谢

加里

--更新:我没有使用标签,而是切换到脚本中的函数。 不使用查询对象。 POI的所有cf实现 更清洁的解决方案如下。。。实际代码

<cfscript>
// read workbood; set active sheet
sObj = SpreadsheetRead(expectedLocWName);
    SpreadsheetSetActiveSheet(sObj, 'Version');

    // internal code removed spreadsheet getcellvalue

// update
spreadsheetsetcellvalue(sObj, fileVersionNext, 5, 2 );

var overWriteMe = true;
spreadsheetwrite(sObj, expectedLocWName, overWriteMe);
</cfscript> 

//阅读workbood;设置活动工作表
sObj=电子表格读取(预期的LocWName);
电子表格SetActiveSheet(sObj,“版本”);
//已删除内部代码电子表格getcellvalue
//更新
spreadsheetsetcellvalue(sObj,fileVersionNext,5,2);
var覆盖eme=true;
电子表格写入(sObj、expectedLocWName、overWriteMe);

该操作的名称很糟糕:<代码>更新-将新工作表添加到现有XLS文件中。不能使用
uppdate
[sic]操作更改文件中的现有工作表

为了让它发挥作用,我求助于

如果您不局限于
cf电子表格
,您应该能够通过读取文件来“更新”工作表,并使用。然后,添加/重新创建它


从技术上讲,您可以跳过删除/重新创建过程,只需就地修改现有图纸。只要读入文件,然后进行更改。但是,根据修改情况,删除工作表并插入新工作表通常更简单。

谢谢。。。找到函数列表。添加了实际代码。(转储标签/查询转到脚本…是的,我发现标签只适用于基本转储。任何更复杂的东西,您通常最好使用函数。顺便说一句,您可能希望将最终代码作为单独的“答案”发布,以便更可见。