文件包含损坏的数据错误,当打开Excel工作表与OpenXML

本文关键字:Excel 工作 OpenXML 损坏 数据 错误 文件包 | 更新日期: 2023-09-27 18:37:27

>我正在为 SharePoint 2013 中的 ItemAdd 编写一个事件接收器。我正在使用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";

任何帮助或见解将不胜感激。

文件包含损坏的数据错误,当打开Excel工作表与OpenXML

您的日志表是一个 XML 文件 [.xml]。它不是一个Excel文件[.xlsx](Open XML并不意味着只有XML)。这就是它失败的原因。

啊,愚蠢的我忘了设置 Excel 服务读写的权限。我还在以下地方找到了很多好的信息:

以编程方式从 SharePoint 库中读取 Excel 文件

http://www.sharepointwithattitude.com/archives/61

从 Excel 文件中读取数据

http://alancejacob.blogspot.in/2012/06/read-data-from-excel-file-and-insert-in.html