ironcalc/export/
shared_strings.rs1use ironcalc_base::types::Workbook;
2
3use super::{escape::escape_xml, xml_constants::XML_DECLARATION};
4
5pub(crate) fn get_shared_strings_xml(model: &Workbook) -> String {
6 let mut shared_strings: Vec<String> = vec![];
7 let count = &model.shared_strings.len();
8 let unique_count = &model.shared_strings.len();
9 for shared_string in &model.shared_strings {
10 shared_strings.push(format!("<si><t>{}</t></si>", escape_xml(shared_string)));
11 }
12 format!("{}\n\
13 <sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"{count}\" uniqueCount=\"{unique_count}\">\
14 {}\
15 </sst>", XML_DECLARATION, shared_strings.join(""))
16}