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



>我正在尝试将电子表格的"命名选项卡"读取到表中,更新值,然后将它们保存回同一选项卡,我试图看看它是否只是我或电子表格函数中的奇怪东西,伪代码如下。(我不认为我有编码问题,而是cf限制? 特定冷扣(以后可能会添加)

  • CF电子表格读取工作表名称查询
  • 转储查询 -- 确定
  • 更新查询和转储 -- 确定
  • CF电子表格更新工作表名称查询 -- 失败,已经有工作表名称为 -duh- 的工作表
  • (也是 cf电子表格写入 -- 失败)

为了让这个工作,我采取了

  • "读取"选项卡
  • "修改"选项卡
    • 读取工作簿 -- 新变量
    • 删除工作表 -- 新变量
    • 保存工作簿 -- 新的 var -- 磁盘版现在没有选项卡。.
  • 更新工作簿添加工作表 - 使用 var 仅保留修改后的选项卡

-这似乎是可怕的资源密集型...简直是愚蠢的

  • Forta示例似乎仅适用于单表工作簿。

提前谢谢。

加里

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

<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> 

这个动作只是名字不好。根据文档: update - 将新工作表添加到现有 XLS 文件。不能使用 uppdate [原文如此] 操作来更改文件中的现有工作表。

为了让这个工作,我采取了

如果您不将自己限制为仅cfspreadsheet,您应该能够使用 SpreadsheetRead 通过读取文件来"更新"工作表。然后删除工作表,并添加/重新创建它。

从技术上讲,您可以跳过删除/重新创建过程,只需就地修改现有工作表即可。只需阅读文件,将要修改的工作表设置为活动状态,然后进行更改即可。但是,根据修改的不同,通常只需删除工作表并插入新工作表即可。

相关内容

  • 没有找到相关文章

最新更新