如何:保存到服务器以准备进行编程访问

上次修改时间: 2010年4月14日

适用范围: SharePoint Server 2010

本示例演示如何将 Excel 工作簿保存到服务器,以使其为接下来的编程访问做好准备。这些步骤是:

  1. 创建包含命名区域的工作簿。

  2. 将工作簿保存到受信任的 SharePoint 库位置。

    备注

    假定您已经创建一个 SharePoint 文档库并使其成为受信任的位置。有关详细信息,请参阅如何:信任一个位置

  3. 使用 Excel Web ServicesSetCellA1 方法以编程方式指定工作表、命名区域和单元格的值。这些值作为参数传入,即 args [1] 和 args [2]:

    status = xlServices.SetCellA1(sessionId, String.Empty, args[1], args[2]);
    
    status = xlServices.SetCellA1(sessionId, String.Empty, args(1), args(2))
    

可以使用 Web 窗体或命令行指定 args [1] 和 args [2] 的值:

GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam28 > MySnapshot.xlsx 

在该示例中,args [1] 是"MyParam",args [2] 是 28,而 GetSnapshot.exe 是您创建的应用程序的名称。若要查找示例程序,请参阅如何:获取整个工作簿或快照

创建命名区域

  1. 启动 Excel。

  2. Sheet1 重命名为 MyParamSheet。

  3. 在单元格 B2 中键入 20。

  4. 在单元格 B3 中键入 =2+B2。

  5. 将单元格 B3 变为粗体。

  6. 使单元格 B2 成为命名区域:

    1. 在功能区上,单击"公式"选项卡,然后单击单元格 B2 以选中它。

    2. 在"定义的名称"组中,单击"定义名称"。

    3. 在"新名称"对话框的"名称"文本框中键入 MyParam。

  7. 将工作簿保存到本地驱动器上您所选择的位置。并将工作簿命名为 TestMyParam.xlsx。

保存到 SharePoint 库

  1. 在"文件"菜单上,单击"保存并发送",然后单击"保存到 SharePoint"。

  2. 在"保存到 SharePoint"对话框中单击"发布选项"。

  3. 在"发布选项"对话框的"显示"选项卡上,确保选中"整个工作簿"。

  4. 单击"参数"。

  5. 单击"添加"。

  6. 在"添加参数"列表中应该看到"MyParam"。选中"MyParam"复选框。

  7. 单击"确定"。现在应该在"参数"列表中看到"MyParam"。

  8. 单击"确定"。

  9. 在"保存到 SharePoint"对话框中单击"另存为".

  10. 在"另存为"对话框中清除"通过 Excel 在浏览器中打开"复选框。

  11. 在"文件名"框中键入要存储此工作簿的受信任 SharePoint 文档库的路径。例如 http://MyServer002/MyDocumentLibrary/TestParam.xlsx。

  12. 单击"保存"。

以编程方式指定值

  1. 下面是 Excel Web Services 中 SetCellA1 方法的签名:

    public void SetCellA1 (
    string sessionId,
    string sheetName,
    string rangeName,
    Object cellValue,
    Out Status[] status
    )
    
    Public Sub SetCellA1(ByVal sessionId As String,
                  ByVal sheetName As String, 
                 ByVal rangeName As String, 
                 ByVal cellValue As Object, 
                 Out ByVal status() As Status)
    End Sub
    

    按如下方式向 SetCellA1 方法设置工作表、命名区域单元格的值:

    // Set a value into a cell.
    status = xlSrv.SetCellA1(sessionId, String.Empty, args[1], args[2]);
    
  2. 在前面的代码中:

    • args [1] 是命名区域的名称。此例中为"MyParam"。

    • args [2] 是单元格中要设置的值。将设置该值的单元格是 args [1] 中名为"MyParam"的命名区域。

  3. 如果使用命令行,则可以按如下方式传入参数:

    GetSnapshot.exe http://MyServer002/MyTrustedDocumentLibrary/TestMyParam.xlsx MyParam 28 > MySnapshot.xlsx

  4. 如果生成工作簿的快照,则将看到以下内容:

    • 单元格 B2(带有命名范围 MyParam)现在的值是您通过程序提供的值,即 28

    • 单元格 B3 有一个新的计算值 30

    • 单元格 B3 不显示原始公式,即"=2+B2"。

    • 单元格 B3 保留其字体格式,即粗体。

备注

有关快照的详细信息,请参阅如何:获取整个工作簿或快照。有关 SetCellA1 方法的详细信息,请参阅 Excel Web Services 参考文档。Web 服务的命名空间为 Microsoft.Office.Excel.Server.WebServices

请参阅

任务

如何:从 Excel 客户端保存到服务器

演练:使用 Excel Web Services 开发自定义应用程序

引用

Microsoft.Office.Excel.Server.WebServices

概念

访问 SOAP API

环回 SOAP 调用和直接链接

Excel Services 警报