aini 发表于 2015-9-26 12:53:43

SharePoint 2010通过Web Service读取和修改Excel文件

  
  最近有个项目,要求用Silverlight在服务器端修改和读取Excel文件,于是用到了SharePoint中的2个Web Service来实现这个功能,它们分别是http://url/_vti_bin/lists.asmx和http://url/_vti_bin/ExcelService.asmx。
  
  基本原理很简单,就是先用http://url/_vti_bin/lists.asmx将要修改的Excel文件迁出,然后再用http://url/_vti_bin/ExcelService.asmx往Excel中写内容。
  
  原理清楚了,剩下的步骤就很简单了。添加2个Service的引用,然后调用,迁出文件修改,再保存,迁入。
  
  string targetWorkbookPath = "http://url/Documents/ben.xlsx";
  
  //迁出要修改的文件
  finwebuat.Lists listsServcie = new finwebuat.Lists();
  listsServcie.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
  listsServcie.CheckOutFile(targetWorkbookPath, "false", DateTime.Now.ToString());
  
  ExcelService.ExcelService excelService = new ExcelService.ExcelService();
  excelService.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
  
  Status[] outStatus;
  string sheetName = "Sheet1";//要修改哪一个工作薄
  
  //生成一个SessionID。
  string sessionId = excelService.OpenWorkbookForEditing(targetWorkbookPath, "en-US", "en-US", out outStatus);
  
  ////给Excel文件赋值。A10表示向A10表格中写内容。
  excelService.SetCellA1(sessionId, sheetName, "A10", "你要写入的内容");
  
  //保存修改
  excelService.SaveWorkbook(sessionId);
  
  //Check In 文件
  listsServcie.CheckInFile(targetWorkbookPath, "", "1");
  
  excelService.CloseWorkbook(sessionId);
  代码中加入了比较详细的注释,所以在此不再哆嗦。读取更简单,MSDN中有直接解释。
  
  参考文档:http://msdn.microsoft.com/en-us/library/ms500767.aspx。
页: [1]
查看完整版本: SharePoint 2010通过Web Service读取和修改Excel文件