use super::builder::*;
pub fn houganshi_merged() -> Vec<u8> {
let rows = r#"<row r="1"><c r="A1" t="str"><v>houganshi</v></c></row>"#;
let merge_cells = r#"<mergeCells count="1"><mergeCell ref="A1:C3"/></mergeCells>"#;
build_zip(&[
(
"xl/_rels/workbook.xml.rels",
rels_xml(&[
("rId1", "worksheet", "worksheets/sheet1.xml"),
("rId2", "styles", "styles.xml"),
])
.as_bytes(),
),
(
"xl/workbook.xml",
workbook_xml(&[("Sheet1", "rId1", None)]).as_bytes(),
),
("xl/styles.xml", DEFAULT_STYLES_XML),
(
"xl/worksheets/sheet1.xml",
worksheet_xml(rows, merge_cells).as_bytes(),
),
])
}
pub fn multi_sheet_states() -> Vec<u8> {
let visible_rows = r#"<row r="1"><c r="A1"><v>1</v></c></row>"#;
let blank = "";
build_zip(&[
(
"xl/_rels/workbook.xml.rels",
rels_xml(&[
("rId1", "worksheet", "worksheets/sheet1.xml"),
("rId2", "worksheet", "worksheets/sheet2.xml"),
("rId3", "worksheet", "worksheets/sheet3.xml"),
("rId4", "worksheet", "worksheets/sheet4.xml"),
("rId5", "styles", "styles.xml"),
])
.as_bytes(),
),
(
"xl/workbook.xml",
workbook_xml(&[
("Visible", "rId1", None),
("Hidden", "rId2", Some("hidden")),
("VeryHidden", "rId3", Some("veryHidden")),
("Empty", "rId4", None),
])
.as_bytes(),
),
("xl/styles.xml", DEFAULT_STYLES_XML),
(
"xl/worksheets/sheet1.xml",
worksheet_xml(visible_rows, "").as_bytes(),
),
(
"xl/worksheets/sheet2.xml",
worksheet_xml(visible_rows, "").as_bytes(),
),
(
"xl/worksheets/sheet3.xml",
worksheet_xml(visible_rows, "").as_bytes(),
),
(
"xl/worksheets/sheet4.xml",
worksheet_xml(blank, "").as_bytes(),
),
])
}
pub fn extreme_sparse() -> Vec<u8> {
let rows = r#"<row r="1"><c r="A1"><v>1</v></c></row>
<row r="1048576"><c r="XFD1048576"><v>2</v></c></row>"#;
build_zip(&[
(
"xl/_rels/workbook.xml.rels",
rels_xml(&[
("rId1", "worksheet", "worksheets/sheet1.xml"),
("rId2", "styles", "styles.xml"),
])
.as_bytes(),
),
(
"xl/workbook.xml",
workbook_xml(&[("Sheet1", "rId1", None)]).as_bytes(),
),
("xl/styles.xml", DEFAULT_STYLES_XML),
(
"xl/worksheets/sheet1.xml",
worksheet_xml(rows, "").as_bytes(),
),
])
}