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