尝试使用EPPlus从ZipArchive读取Excel文件

时间:2018-06-15 11:45:47

标签: c# epplus

我正在尝试从zip存档中读取excel文件:

var excelEntry = archive.Entries.Single(entry => Regex.IsMatch(entry.FullName, @"\.xlsx\z", RegexOptions.IgnoreCase));
using (var excelPackage = new ExcelPackage(excelEntry.Open()))
{
}

但是,我得到一个NotSupportedException。

(Exception thrown: 'System.NotSupportedException' in System.dll
Additional information: This operation is not supported.) 

该文件是一个简单的.xlsx,没有任何保护。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

确实是因为zip存档流是只读的,而ExcelPackage只接受读/写流。

我做了以下调整:

var entryStream = excelEntry.Open();
using (var ms = new MemoryStream())
using (var excelPackage = new ExcelPackage())
{
  entryStream.CopyTo(ms);
  excelPackage.Load(ms);
  ...
}