问题 从memorystream打开excel工作簿


我试图从内存流中打开一个excel工作簿。我有一个excel文件的网址,我的工作是从网址下载数据,然后将其保存到内存流中,但我不知道如何从流中打开工作簿,这是我的代码如何工作所以远。

WebClient wc = new WebClient();

byte[] fileArray = wc.DownloadData("url is inserted here");

MemoryStream ms = new MemoryStream(fileArray);

但是从这里我不知道如何从流中读取数据来创建工作簿,它似乎不是来自电子表格文档 http://msdn.microsoft.com/en-us/library/ff478410 以我想要的方式工作,任何帮助或指针将不胜感激


4028
2018-06-09 01:34


起源



答案:


SpreadSheetDocument有一个 打开 静态方法重载,将流作为文档源的参数,只需添加到您的代码中:

var doc = SpreadSheetDocument.Open(ms, isEditable);

10
2018-06-09 02:00



似乎在我尝试该方法时,当前上下文中不存在isEditable - afkmaster
这只是一个例子,你可以选择第二个参数将返回的对象编辑,例如对于只读使用:SpreadSheetDocument.Open(ms,false); - Antonio Bakula
哦,我明白了,谢谢! - afkmaster


答案:


SpreadSheetDocument有一个 打开 静态方法重载,将流作为文档源的参数,只需添加到您的代码中:

var doc = SpreadSheetDocument.Open(ms, isEditable);

10
2018-06-09 02:00



似乎在我尝试该方法时,当前上下文中不存在isEditable - afkmaster
这只是一个例子,你可以选择第二个参数将返回的对象编辑,例如对于只读使用:SpreadSheetDocument.Open(ms,false); - Antonio Bakula
哦,我明白了,谢谢! - afkmaster