2017-09-21 7 views
1

私はxlsファイルのBase64文字列を持っています。私はbase64でストリーム を開こうとすると、それは次の例外をスローしBase64 ExcelファイルストリームAspose.Cells.CellsException

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); 
} 

答えて

1

コードの関連部分を変更して機能しました。今、私はbase64を使って作業することができます。

まず、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); 
} 
関連する問題