diff --git a/src/formats/sheet/xlsx.rs b/src/formats/sheet/xlsx.rs index e0924562..f42b6c53 100644 --- a/src/formats/sheet/xlsx.rs +++ b/src/formats/sheet/xlsx.rs @@ -939,6 +939,18 @@ mod tests { assert_eq!(table.grid[0].len(), 2); } + #[test] + fn hidden_rows_and_columns_are_omitted_from_markdown() { + // Mirrors the issue #9 openpyxl repro: visible A1, hidden row 2, hidden col B. + let sheet = r#"VISIBLE_CELLHIDDEN_COL_TEXT"#; + let bytes = one_sheet(sheet).build(); + let md = crate::to_markdown_bytes(&bytes, crate::Format::Excel).unwrap(); + assert!(md.contains("VISIBLE_CELL"), "visible cell missing from markdown:\n{md}"); + assert!(!md.contains("HIDDEN_ROW_TEXT"), "hidden row leaked into markdown:\n{md}"); + assert!(!md.contains("HIDDEN_COL_TEXT"), "hidden column leaked into markdown:\n{md}"); + assert!(!md.contains("HIDDEN_BOTH"), "hidden row+col leaked into markdown:\n{md}"); + } + #[test] fn hidden_rows_columns_and_sheets_are_omitted() { // Hidden content is invisible to someone opening the workbook, so