Exceldateien auf SharePoint über ExcelService per C# lesen und ändern

SharePoint (Meta) Daten in einer Worddatei anzuzeigen ist relativ einfach und ohne Programmierung möglich. Bei Exceldateien ist es etwas schwieriger aber auch kein Hexenwerk.

Man benötigt eine Referenz zu:
System.Web.Services
und
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Office.Excel.Server.WebServices.dll

Code Snippet
  1. String GetSetExcelValue()
  2. {
  3.     String fValue = String.Empty;
  4.     
  5.     ExcelService xlService = new ExcelService();
  6.     Status[] outStatus;
  7.     String URLPath = "http://servername/teamsprojects/AppDev/Documents/ExcelWebService001.xlsx";
  8.     String SheetName = "Tabelle1";
  9.     
  10.     // Excel Datei ffenen
  11.     String SessionID = xlService.OpenWorkbookForEditing(URLPath, "en-US", "en-US", out outStatus);
  12.     
  13.     // Inhalt auslesen
  14.     object rangeResult = xlService.GetCell(SessionID, SheetName, 0, 1, false, out outStatus);
  15.     fValue = rangeResult.ToString();
  16.  
  17.     // Inhalt ndern
  18.     xlService.SetCell(SessionID, SheetName, 1, 0,"und ich bin SharePoint!!!",out outStatus);
  19.  
  20.     // Excel Datei speichern
  21.     xlService.SaveWorkbook(SessionID, out outStatus);
  22.  
  23.     // Excel Datei wieder schlieen
  24.     xlService.CloseWorkbook(SessionID, out outStatus);
  25.     return fValue;
  26. }

Wichtig: Der User unter dem der Webservice läuft benötigt ausreichend Zugriffsrechte auf die Content Datenbank hat.

Weitere Informationen findet man hier:http://msdn.microsoft.com/en-us/library/ms572330(v=office.14).aspx