我正在尝试读取在itemadded事件上上传的excel文件。我需要通过阅读上传的excel表来更新文档库的元数据列。但我得到以下错误,
这是我的代码,
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文件路径进行了硬编码。
答案 0 :(得分:1)
看一下这篇博客文章。我认为这会有所帮助
答案 1 :(得分:1)
我认为您记录的问题处于签出状态,因为您已从excel应用程序打开它,因此您需要执行以下操作:
item.CheckIn()
或item.UndoCheckOut()
)之后你应该能够更新项目属性