diff --git a/crates/engine/src/tests.rs b/crates/engine/src/tests.rs index 3bf54d12f..927cfb544 100644 --- a/crates/engine/src/tests.rs +++ b/crates/engine/src/tests.rs @@ -3612,7 +3612,8 @@ fn xls_fixture() -> Vec { let mut put = |at: usize, v: &[u8]| b[at..at + v.len()].copy_from_slice(v); put(0, &[0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1]); put(26, &3u16.to_le_bytes()); - put(28, &0xFFFEu16.to_le_bytes()); // byte order ([MS-CFB] 2.2) + // The byte order mark [MS-CFB] 2.2 requires; craft-cfb refuses a header without it. + put(28, &0xFFFEu16.to_le_bytes()); put(30, &9u16.to_le_bytes()); put(32, &6u16.to_le_bytes()); put(44, &1u32.to_le_bytes()); diff --git a/crates/xlsx/src/xls.rs b/crates/xlsx/src/xls.rs index 1895e1db4..f52d5b3a6 100644 --- a/crates/xlsx/src/xls.rs +++ b/crates/xlsx/src/xls.rs @@ -69,11 +69,12 @@ fn warning(w: &x::Warning) -> String { W::DialogSheet => "Dialog sheets and unreadable sheets were skipped.".into(), W::MissingSharedString => "Some cells refer to missing shared strings and were left empty.".into(), W::DataTable => "What-if data tables are not supported; their values were kept.".into(), - W::Comments => "Cell comments in .xls files are not imported yet.".into(), - W::Drawings => "Pictures, charts and shapes in .xls files are not imported yet.".into(), - W::ConditionalFormatting => "Conditional formatting in .xls files is not imported yet.".into(), - W::DataValidationSkipped => "Some data validation rules in .xls files could not be read and were skipped.".into(), - W::DataValidationIgnored => "Some data validation records in .xls files were ignored, as Excel ignores them: they have no DVal record before them, or come after the number of rules it gives.".into(), + W::DamagedObjects => "Some comments or drawing objects in .xls files could not be read and were skipped.".into(), + W::Charts => "Charts in .xls files are not imported yet.".into(), + W::PicturesSkipped => "Some pictures in .xls files were skipped.".into(), + W::ConditionalFormattingSkipped | W::ConditionalFormatting12 => "Some conditional formatting in .xls files was not imported.".into(), + W::DataValidationSkipped => "Some data validation in .xls files could not be read and was skipped.".into(), + W::DataValidationIgnored => "Some data validation records in .xls files were ignored, as Excel ignores them.".into(), W::Hyperlinks => "Hyperlinks in .xls files are not imported yet.".into(), W::PivotTables => "PivotTables in .xls files are not imported yet; their values were kept.".into(), W::CellsOutsideGrid(n) => format!("{n} cells outside the grid were skipped."),