从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 读取excel 文件 Unable to recognize OLE stream 错误
Java-jxl插件Excel文件读写报错jxl.read.biff.BiffException: Unable to recognize OLE stream
Java-jxl插件Excel文件读写报错jxl.read.biff.BiffException: Unable to recognize OLE stream