如何:保存工作簿

Excel Web Services 是 Excel Services 的前端界面。一般情况下,Excel Services 并不创建、修改或保存文件,它只读取文件以启动会话。因此,Excel Web Services 没有用于保存工作簿的方法。

若要保存工作簿,一般请使用目标文件存储区的 API。例如:

  • 如果要将 Excel 文件保存到 Windows SharePoint Services 3.0 文档库,请使用 Windows SharePoint Services 3.0 对象模型或 Web 服务。

  • 如果要将 Excel 文件保存到流、本地文件或文件共享,请使用 Microsoft .NET Framework 库。

  • 如果要将 Excel 文件保存到 HTTP 位置,请使用 Web 分布式创作和版本管理 (WebDAV)。

备注

WebDAV 也称为 HTTP/DAV 协议或 DAV 协议。

可以使用各种 .NET Framework 库保存工作簿。下例介绍其中一种方法。

示例

下面的示例代码使用 Console.OpenStandardOutput 方法获取标准输出流。然后使用 System.IO.BinaryWriter.Write 方法写入由 Web 服务的 GetWorkbook 方法返回的整个工作簿或快照文件。它使用 stdout 和命令行文件名参数将快照写入文件,如以下代码所示:

BinaryWriter binaryWriter = 
    new BinaryWriter(Console.OpenStandardOutput());
binaryWriter.Write(workbook);
binaryWriter.Close();

有关 OpenStandardOutput 和 Write 方法的详细信息,请参阅 Microsoft .NET Framework 类库文档。

下例介绍如何获取快照然后将其写入标准输出。有关快照的详细信息,请参阅如何:获取整个工作簿或快照主题。有关 GetWorkbook 方法的详细信息,请参阅 Excel Web Services 参考文档。

// Open the workbook, then call GetWorkbook 
// and close the session.
string sessionId = xlService.OpenWorkbook(args[0], "en-US", "en-US", out status);

// Get a full snapshot of the workbook.
byte[] workbook = xlService.GetWorkbook(sessionId, WorkbookType.FullWorkbook, out status);
                
 // Close workbook. This also closes the session.
 status = xlService.CloseWorkbook(sessionId);

 // Write the resulting Excel file to stdout, as a binary stream.
BinaryWriter binaryWriter = new BinaryWriter(Console.OpenStandardOutput());
binaryWriter.Write(workbook);
binaryWriter.Close();

See Also

任务

步骤 1:创建 Web 服务客户端项目

步骤 2:添加 Web 引用

步骤 3:访问 Web 服务

步骤 4:生成和测试应用程序

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

如何:信任一个位置

如何:使用脚本信任工作簿位置

如何:启用 UDF

概念

访问 SOAP API