2013-10-30 1 views
1

SharePoint 2013으로 ItemAdded 용 이벤트 수신기를 쓰고 있습니다. OpenXML을 사용하여 스프레드 시트를 읽었습니다. 내가 프로그램에서 SharePoint 라이브러리에 살고 로그 파일, 나는 다음과 같은 오류 얻을 열려고하면 :OpenXML로 Excel 시트를 열 때 파일에 손상된 데이터 오류가 있습니다.

파일에 포함 된 손상된 데이터

이 오류를 던지고 코드의 블록입니다 :

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; 

및 logsheet에서는 SharePoint

string logFilePath = "http://SPSiteName/sites/SP/Dropbox/RuntimeLog.xml"; 

어떤 도움에의 직접 URL을 사용하여 데이터 스트림을 사용하여 열 또는 통찰력이 크게 감사합니다 :

스프레드 시트의 경로를 사용하여 데이터 스트림에서 열립니다.

답변

0

로그 시트는 XML 파일 [.xml]입니다. Excel 파일이 아닙니다. [xlsx] (Open XML이 인 경우에만 XML을 의미하는 것은 아닙니다.) 그것이 실패한 이유입니다.

+0

나는 그것을 시도 파일 SharePoint 라이브러리에서

프로그래밍 읽기 엑셀 파일 : 나는 또한 다음과 같은 장소에서 좋은 정보를 많이 발견 먼저 .xlsx 파일을 만듭니다. 같은 문제. 어딘가에 문제에 대해 읽은 임의의 블로그에서 .xml 파일을 사용해 보라고 제안했습니다. – Tangster

관련 문제