Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions src/ExcelDataReader.Tests/ExcelBinaryReaderTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,24 @@ public void AllowFfffAsByteOrder()
Assert.That(tableCount, Is.EqualTo(454));
}

[Test]
public void AllowFeffAsByteOrder()
{
using var excelReader = ExcelReaderFactory.CreateBinaryReader(Configuration.GetTestWorkbook("Issue695_InvalidByteOrderFEFF.xls"));
int tableCount = 0;
do
{
while (excelReader.Read())
{
}

tableCount++;
}
while (excelReader.NextResult());

Assert.That(tableCount, Is.GreaterThan(0));
}

[Test]
public void HandleRowBlocksWithOutOfOrderCells()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public CompoundDocument(Stream stream)

if (!Header.IsSignatureValid)
throw new HeaderException(Errors.ErrorHeaderSignature);
if (Header.ByteOrder != 0xFFFE && Header.ByteOrder != 0xFFFF) // Some broken xls files uses 0xFFFF
if (Header.ByteOrder != 0xFFFE && Header.ByteOrder != 0xFFFF && Header.ByteOrder != 0xFEFF) // Some broken xls files use 0xFFFF or 0xFEFF
throw new HeaderException(Errors.ErrorHeaderOrder);

var difSectorChain = ReadDifSectorChain(reader);
Expand Down
Binary file added src/TestData/Issue695_InvalidByteOrderFEFF.xls
Binary file not shown.
Loading