在itemAdded事件上阅读excel附件

时间:2011-11-18 16:33:06

标签: sharepoint-2010

我正在尝试读取在itemadded事件上上传的excel文件。我需要通过阅读上传的excel表来更新文档库的元数据列。但我得到以下错误,

enter image description here

这是我的代码,

   SPItem item = properties.ListItem;

   string workbookpath = "http://server/sites/dev/Published%20documents/Test.xlsx";
   ApplicationClass excel = new ApplicationClass();
   excel.Visible = false;

   Workbook excelWorkBook = excel.Workbooks.Open(workbookpath, 0, true, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);

   Sheets sheets = excelWorkBook.Worksheets;
   Worksheet worksheet = (Worksheet)sheets.get_Item(1);
   Range range = worksheet.get_Range("A1", "A1");

   item["Status"] = (string)range.Cells.Value2;

   item.Update();

   base.ItemAdded(properties);

出于测试目的,我对excel文件路径进行了硬编码。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我认为您记录的问题处于签出状态,因为您已从excel应用程序打开它,因此您需要执行以下操作:

  1. 关闭excel app
  2. 签入文档以保存字符或撤消结帐(使用item.CheckIn()item.UndoCheckOut()
  3. 之后你应该能够更新项目属性