cfspreadsheet和修改选项卡内容,更新时存在获取选项卡

时间:2013-11-18 14:33:52

标签: coldfusion cfspreadsheet

我正在尝试将电子表格的“命名选项卡”读入表格,更新值,然后将它们保存回我想要查看的相同标签,如果它只是我或电子表格中的奇怪功能,伪代码如下。 (我不认为我有编码问题,但有一个cf限制?特定的冷保留(可能会在以后添加))

  • cfspreadsheet read sheetname query
  • 转储查询 - 确定
  • 更新查询和转储 - 确定
  • cfspreadsheet更新工作表名称查询 - 失败,已经有工作表与工作表名称-duh -
  • (也是cfspreadsheet写 - 失败)

为了让这个工作我已经诉诸

  • 阅读标签
  • 修改标签
    • 阅读工作簿 - 新var
    • 删除工作表 - 新var
    • saveworkbook - 新的var - disk edition现在没有选项卡..
  • 更新工作簿添加工作表 - 使用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> 

1 个答案:

答案 0 :(得分:2)

行动的命名很差。 Per the docs update - 向现有XLS文件添加新工作表。您无法使用uppdate [sic]操作更改文件中的现有工作表。

  

为了让这个工作我已经诉诸

如果您不仅限于cfspreadsheet,则应该可以通过使用SpreadsheetRead读取文件来“更新”工作表。然后delete the sheet,添加/重新创建它。

从技术上讲,您可以跳过删除/重新创建过程,只需修改现有的工作表。只需阅读文件set the sheet you want to modify as active,然后进行更改即可。但是,根据修改,删除工作表并插入新工作表通常更简单。