0

I am receiving 'Invalid file signature' error when I try to read xlsb file using below code.

If I use CreateReader, then I am receiving 'Detected ZIP file, but not a valid OpenXml file' error. I have also tried other options as given below but nothing works for me.

Can somebody help me to read xlsb file.

Stream stream = new MemoryStream(srcContent);

public static DataSet GetXLSBData(Stream stream)
{
    DataSet dataSet;

    using (var reader = ExcelReaderFactory.CreateBinaryReader(stream))
    {

        dataSet = reader.AsDataSet();
    }

    foreach (DataTable table in dataSet.Tables)
    {
        table.TableName = table.TableName.Trim();
    }

    return dataSet;
}

Other options tried:

var reader = ExcelReaderFactory.CreateOpenXmlReader(stream)
var reader = ExcelReaderFactory.CreateCsvReader(stream)
var reader = ExcelReaderFactory.CreateReader(stream)
Tech Learner
  • 1,227
  • 6
  • 24
  • 59

1 Answers1

0

My proposal

c# code :

 using (XlsxOrXlsbReadOrEdit excelFile = new XlsxOrXlsbReadOrEdit())
{
   excelFile.Open("file.xlsx");
   excelFile.ActualSheetName = "sheet1";
   object[] row = null;
   while (excelFile.Read())
   {
       if (row == null)
       {
           row = new object[excelFile.FieldCount];
       }
       excelFile.GetValues(row);
   }
}

disclimer - I am creator of SpreadSheetTasks Links