use quick_xml::events::{BytesDecl, Event};
use quick_xml::Writer;
use std::io;
use super::driver::*;
use super::XlsxError;
use crate::helper::const_str::*;
use crate::structs::Spreadsheet;
use crate::structs::WriterManager;
pub(crate) fn write<W: io::Seek + io::Write>(
spreadsheet: &Spreadsheet,
writer_mng: &mut WriterManager<W>,
) -> Result<(), XlsxError> {
let mut writer = Writer::new(io::Cursor::new(Vec::new()));
writer.write_event(Event::Decl(BytesDecl::new(
"1.0",
Some("UTF-8"),
Some("yes"),
)));
write_new_line(&mut writer);
spreadsheet
.get_properties()
.write_to_app(&mut writer, spreadsheet.get_sheet_collection_no_check());
writer_mng.add_writer(ARC_APP, writer)
}