我正在使用 SharePoint 2013 为 ItemAdded 编写事件接收器。我正在使用 OpenXML 来读取电子表格。当我尝试以编程方式打开位于 SharePoint 库中的日志文件时,我收到以下错误:
文件包含损坏的数据
抛出此错误的代码块是:
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(mstream, false))
using (SpreadsheetDocument logsheet = SpreadsheetDocument.Open(logstream, false))
第一行顺利通过,第二行(日志表)中断。它们都是从流中读取的。电子表格是事件触发时添加的项目,而日志表是当前存在于 SharePoint 中的项目。
使用以下路径从数据流打开电子表格:
string workbookpath = properties.ListItem.Web.Url + "/" + properties.ListItem.File.Url;
并且使用数据流在 SharePoint 中使用其直接 URL 打开日志表
string logFilePath = "http://SPSiteName/sites/SP/Dropbox/RuntimeLog.xml";
非常感谢任何帮助或见解。