从Stream中读取excel文件的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Stream中读取excel文件的内容相关的知识,希望对你有一定的参考价值。

我有一个从excel文件创建的文件流。我需要阅读此流的内容并从中获取excel表。任何想法我怎么能这样做?

注意:我必须在不使用任何第三方库的情况下执行此操作

WebRequest request = WebRequest.Create(new Uri("http://servername:1056/ExcelFiles/Myfile.xlsx", UriKind.Absolute));
request.UseDefaultCredentials = true;
WebResponse response = request.GetResponse();
Stream fs = response.GetResponseStream() as Stream;

在这里,我需要读取fs的内容,而不必将文件保存到本地系统/磁盘

答案

您可以使用SpreadSheetDocument从具有静态方法的流中读取数据

var doc = SpreadSheetDocument.Open(docName, true);

更多关于此链接http://msdn.microsoft.com/en-us/library/ff478410

读作memmorystream

WebClient wc = new WebClient();

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

MemoryStream ms = new MemoryStream(fileArray);
另一答案

尝试这样的事情

WebClient webClient= new WebClient();
Stream stream = webClient.OpenRead("http://servername:1056/ExcelFiles/Myfile.xlsx");
  //StreamReader streamReader = new StreamReader(stream);
  //String content = streamReader.ReadToEnd();
// Read the Document using SpreadSheetDocument Method 
var ssDoc = SpreadSheetDocument.Open(stream, false);

SpreadsheetDocument.Open method (Stream, Boolean)

以上是关于从Stream中读取excel文件的内容的主要内容,如果未能解决你的问题,请参考以下文章

java 中 FileReader能读取啥格式的文件

java 读取excel 文件 Unable to recognize OLE stream 错误

vba adodb读取文本文件

Java-jxl插件Excel文件读写报错jxl.read.biff.BiffException: Unable to recognize OLE stream

Java-jxl插件Excel文件读写报错jxl.read.biff.BiffException: Unable to recognize OLE stream

C# 中的 Stream Empty 读取和上传 Excel 文件