Base64 excel 文件流 Aspose.Cells.CellsException

Base64 excel file stream Aspose.Cells.CellsException

我有一个 Base64 字符串的 xls 文件。当我尝试打开 base64 流时 它抛出以下异常

Aspose.Cells.CellsException:不支持此文件的格式,或者您没有指定正确的格式。

public Stream ConvertFileToStream(string fileBase64)
{
        var fileAsBytes = Convert.FromBase64String(fileBase64);
        Stream stream = new MemoryStream(fileAsBytes);
        return stream;
  }


public void Open(Stream fileSource)
{
        FileFormatUtil.DetectFileFormat(fileSource);
        _workbook = new Workbook(fileSource);
}

我更改了代码的相关部分并且它起作用了。现在我可以使用 base64 excel 字符串。

首先,我使用 BinaryWriter 将文件转换为流。

public Stream ConvertFileToStream(string fileBase64, NameValueCollection formData, string fileName)
{
        var fileAsBytes = Convert.FromBase64String(fileBase64);
        var  stream = new MemoryStream();
        BinaryWriter writer = new BinaryWriter(stream);
        writer.Write(fileAsBytes);

        return stream;
}

然后我更改了 Open 方法以将文件转换为工作簿。

public void Open(Stream fileSource)
{
        fileSource.Position = 0;
        FileFormatUtil.DetectFileFormat(fileSource);
        _workbook = new Workbook(fileSource);
}