umya_spreadsheet/writer/xlsx/
doc_props_core.rs

1use quick_xml::events::{BytesDecl, Event};
2use quick_xml::Writer;
3use std::io;
4
5use super::driver::*;
6use super::XlsxError;
7use crate::helper::const_str::*;
8use crate::structs::Spreadsheet;
9use crate::structs::WriterManager;
10
11pub(crate) fn write<W: io::Seek + io::Write>(
12    spreadsheet: &Spreadsheet,
13    writer_mng: &mut WriterManager<W>,
14) -> Result<(), XlsxError> {
15    let mut writer = Writer::new(io::Cursor::new(Vec::new()));
16    // XML header
17    writer.write_event(Event::Decl(BytesDecl::new(
18        "1.0",
19        Some("UTF-8"),
20        Some("yes"),
21    )));
22    write_new_line(&mut writer);
23
24    // cp:coreProperties
25    spreadsheet.get_properties().write_to_core(&mut writer);
26
27    writer_mng.add_writer(ARC_CORE, writer)
28}