对于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 );
}
| 归档时间: | 
 | 
| 查看次数: | 14338 次 | 
| 最近记录: |