科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道从Excel Services获取一个工作簿或快照(2)

从Excel Services获取一个工作簿或快照(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果我们要把创作完工作簿文件副本存放在某处,然后发送给某人,那么最好的方式就是使用Excel Web Services。通过Excel Web Services我们可以得到一个工作簿或一个快照。

作者:sunmoonfire 来源:blog 2007年9月2日

关键字: 快照 SharePoint Excel SharePoint2007 Office

  • 评论
  • 分享微博
  • 分享邮件
using System;
using System.IO;
using System.Text;
using System.Web.Services.Protocols;

// TODO: Change the using GetSnapshot.ExcelWebService; directive 
// to point to the Web service you are referencing.
using 
// GetSnapshot.ExcelWebService;

namespace GetSnapshot
{
    
class ExcelServicesSnapshot
    {
        
static void Main(string[] args)
        {
            
try
            {
                
if (args.Length < 1)
                {
                    Console.Error.WriteLine(
"Command line arguments should be: 
                    GetSnapshot [workbook_path] > [snapshot_filename]");
                    return;
                }
                
// Instantiate the Web service and 
                
// create a status array object.
                ExcelService xlService = new ExcelService();
                Status[] status;
                
                xlService.Timeout 
= 600000;
                
// Set credentials for requests.
                
// Use the current user's logon credentials.
                xlService.Credentials =   
                System.Net.CredentialCache.DefaultCredentials;
                 
                
// Open the workbook, then call GetWorkbook 
                
// and close the session.
                string sessionId = xlService.OpenWorkbook(args[0], 
                
"en-US""en-US"out status);
                
byte[] workbook = xlService.GetWorkbook
                (sessionId, WorkbookType.PublishedItemsSnapshot, 
                 
out status);

                
// byte[] workbook = xlService.GetWorkbook(sessionId, 
                
// WorkbookType.FullWorkbook, out status);
                
// byte[] workbook = xlService.GetWorkbook(sessionId, 
                
// WorkbookType.FullSnapshot, out status);

                
// Close the workbook. This also closes the session,     
                
// proactively releasing resources on the server. 
                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();
            }
            
catch (SoapException e)
            {
                Console.WriteLine(
"SOAP Exception Message: {0}", e.Message);
            }
            
catch (Exception e)
            {
                Console.WriteLine(
"Exception Message: {0}", e.Message);
            }   
        } 
    }
}
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章