尝试使用 EPPlus 从 ZipArchive 读取 Excel 文件
Trying to read an Excel file from ZipArchive with 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 文件,没有任何保护。
有什么想法吗?
确实是因为 zip 存档流是只读的,而 ExcelPackage 只接受 read/write 流。
我做了以下调整:
var entryStream = excelEntry.Open();
using (var ms = new MemoryStream())
using (var excelPackage = new ExcelPackage())
{
entryStream.CopyTo(ms);
excelPackage.Load(ms);
...
}
我正在尝试从 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 文件,没有任何保护。 有什么想法吗?
确实是因为 zip 存档流是只读的,而 ExcelPackage 只接受 read/write 流。
我做了以下调整:
var entryStream = excelEntry.Open();
using (var ms = new MemoryStream())
using (var excelPackage = new ExcelPackage())
{
entryStream.CopyTo(ms);
excelPackage.Load(ms);
...
}