You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET VB环境使用Smartsheet SDK如何将上传Sheet设置到指定工作区

Smartsheet Sheet归属工作区设置解决方案(.NET VB环境)
  • 核心解决逻辑:Smartsheet C# SDK 2.126.0版本支持两种实现方式,既可以将已导入填充完成的Sheet移动到指定工作区,也可以在导入文件时直接指定归属工作区。

方案1:导入填充数据后移动到指定工作区

前提条件

提前获取目标工作区的ID:可直接在Smartsheet网页端打开目标工作区,从浏览器URL中提取ID,也可调用smartsheet.WorkspaceResources.ListWorkspaces()方法枚举所有工作区获取对应ID。

代码示例(接现有逻辑)

' 原有导入、数据填充逻辑
Dim smartsheet As SmartsheetClient = New SmartsheetBuilder().Build()
Dim sheet As Sheet = smartsheet.SheetResources.ImportXlsSheet(XLSFILENAME, Nothing, 0, Nothing)
' 此处省略你已有的行数据构造、上传逻辑

' ========== 新增移动到工作区的逻辑 ==========
' 替换为你的目标工作区ID
Dim targetWorkspaceId As Long = 1234567890123456

' 构造仅包含更新字段的Sheet对象即可,无需赋值其他属性
Dim updateSheetReq As New Sheet With {
    .Id = sheet.Id,
    .WorkspaceId = targetWorkspaceId
}

' 执行更新,完成Sheet归属工作区修改
smartsheet.SheetResources.UpdateSheet(updateSheetReq)

注意事项

你使用的API Token对应的账号,必须同时拥有当前Sheet的管理权限、目标工作区的编辑权限,否则会返回权限不足报错。


方案2:导入时直接指定归属工作区(可选优化)

如果不需要在默认位置先导入Sheet,可以直接在调用导入方法时指定目标工作区,省去后续移动步骤,代码如下:

Dim smartsheet As SmartsheetClient = New SmartsheetBuilder().Build()
' 替换为你的目标工作区ID
Dim targetWorkspaceId As Long = 1234567890123456
' 导入时直接指定归属工作区
Dim sheet As Sheet = smartsheet.SheetResources.ImportXlsSheet(
    XLSFILENAME, 
    Nothing, 
    0, 
    Nothing, 
    targetWorkspaceId, 
    DestinationType.WORKSPACE
)
' 后续直接执行行数据填充逻辑即可

内容的提问来源于stack exchange,提问作者Enrico Oricco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:15:06