对于ExcelPackage构造函数,您需要一个FileInfo对象.我宁愿使用某种流对象(fi MemoryStream),因为我不需要将文件保存到服务器本身,而是将其作为FileStream公开给用户.我不想制作我必须从服务器中删除的文件,这些服务器仅用于生成目的并且从未再次使用过.除此之外,我还需要服务器上目录/文件上的应用程序/用户的必要权限.
那么我的问题是:如何将流对象转换为FileInfo对象.
你不能把Stream
这样的转换为a FileInfo
; 它们代表完全不同的东西.A Stream
包含可能代表或不代表磁盘上文件的数据.FileInfo
另一方面,A 包含有关文件的元数据,可能存在也可能不存在.
您可以做的是将Stream
文件的内容写入磁盘上,创建FileInfo
指向该文件并将其传递FileInfo
给构造函数.
将以下构造函数添加到 ExcelPackage 可以改为使用 Streams。
public ExcelPackage( Stream stream ) {
_package = Package.Open( stream, FileMode.Create, FileAccess.ReadWrite );
Uri uriDefaultContentType = new Uri( "/default.xml", UriKind.Relative );
PackagePart partTemp = _package.CreatePart( uriDefaultContentType, "application/xml" );
XmlDocument workbook = Workbook.WorkbookXml;
_package.CreateRelationship( Workbook.WorkbookUri, TargetMode.Internal, schemaRelationships + "/officeDocument" );
_package.DeletePart( uriDefaultContentType );
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14338 次 |
最近记录: |