diff --git a/xlsx/src/export/worksheets.rs b/xlsx/src/export/worksheets.rs
index b3f2cbc..7bf6fbe 100644
--- a/xlsx/src/export/worksheets.rs
+++ b/xlsx/src/export/worksheets.rs
@@ -192,9 +192,10 @@ pub(crate) fn get_worksheet_xml(
&parsed_formulas[*f as usize],
);
let style = get_cell_style_attribute(*s);
+ let escaped_v = escape_xml(v);
row_data_str.push(format!(
- "{formula}{v}"
+ "{formula}{escaped_v}"
));
}
Cell::CellFormulaError {
diff --git a/xlsx/tests/calc_tests/escape_strings.xlsx b/xlsx/tests/calc_tests/escape_strings.xlsx
new file mode 100644
index 0000000..edd6fb3
Binary files /dev/null and b/xlsx/tests/calc_tests/escape_strings.xlsx differ