public void Issue1163911644ForwardOnlyStream()
 {
     // Excel.Log.Log.InitializeWith<Log4NetLog>();
     using (var stream = Configuration.GetTestWorkbook("Test_OpenOffice"))
     {
         using (var forwardStream = SeekErrorMemoryStream.CreateFromStream(stream))
             using (IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(forwardStream))
             {
                 Assert.DoesNotThrow(() => excelReader.AsDataSet());
             }
     }
 }
Example #2
0
        /// <summary>
        /// Creates SeekErrorMemoryStream copy data from the source
        /// </summary>
        public static SeekErrorMemoryStream CreateFromStream(Stream source)
        {
            var forwardStream = new SeekErrorMemoryStream {
                _canSeek = true
            };

            CopyStream(source, forwardStream);
            forwardStream.Seek(0, SeekOrigin.Begin);

            // now disable seek
            forwardStream._canSeek = false;

            return(forwardStream);
        }