1use serde::{Deserialize, Serialize};
6
7use super::common::XlsxInnerXml;
8
9#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
15#[serde(rename = "metadata")]
16pub struct XlsxMetadata {
17 #[serde(rename = "metadataTypes", default)]
18 pub metadata_types: Option<XlsxInnerXml>,
19 #[serde(rename = "metadataStrings", default)]
20 pub metadata_strings: Option<XlsxInnerXml>,
21 #[serde(rename = "mdxMetadata", default)]
22 pub mdx_metadata: Option<XlsxInnerXml>,
23 #[serde(rename = "futureMetadata", default)]
24 pub future_metadata: Vec<XlsxFutureMetadata>,
25 #[serde(rename = "cellMetadata", default)]
26 pub cell_metadata: Option<XlsxMetadataBlocks>,
27 #[serde(rename = "valueMetadata", default)]
28 pub value_metadata: Option<XlsxMetadataBlocks>,
29 #[serde(rename = "extLst", default)]
30 pub ext_lst: Option<XlsxInnerXml>,
31}
32
33#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
36pub struct XlsxFutureMetadata {
37 #[serde(rename = "bk", default)]
38 pub bk: Vec<XlsxFutureMetadataBlock>,
39 #[serde(rename = "extLst", default)]
40 pub ext_lst: Option<XlsxInnerXml>,
41}
42
43#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
47pub struct XlsxFutureMetadataBlock {
48 #[serde(rename = "extLst", default)]
49 pub ext_lst: Option<XlsxInnerXml>,
50}
51
52#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
56pub struct XlsxMetadataBlocks {
57 #[serde(rename = "@count", default)]
58 pub count: Option<i64>,
59 #[serde(rename = "bk", default)]
60 pub bk: Vec<XlsxMetadataBlock>,
61}
62
63#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
66pub struct XlsxMetadataBlock {
67 #[serde(rename = "rc", default)]
68 pub rc: Vec<XlsxMetadataRecord>,
69}
70
71#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
74pub struct XlsxMetadataRecord {
75 #[serde(rename = "@t")]
76 pub t: i64,
77 #[serde(rename = "@v")]
78 pub v: i64,
79}
80
81#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
83#[serde(rename = "rvData")]
84pub struct XlsxRichValueData {
85 #[serde(rename = "@count", default)]
86 pub count: Option<i64>,
87 #[serde(rename = "rv", default)]
88 pub rv: Vec<XlsxRichValue>,
89 #[serde(rename = "extLst", default)]
90 pub ext_lst: Option<XlsxInnerXml>,
91}
92
93#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
96pub struct XlsxRichValue {
97 #[serde(rename = "@s")]
98 pub s: i64,
99 #[serde(rename = "v", default)]
100 pub v: Vec<String>,
101 #[serde(rename = "fb", default)]
102 pub fb: Option<XlsxInnerXml>,
103}
104
105#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
108#[serde(rename = "richValueRels")]
109pub struct XlsxRichValueRels {
110 #[serde(rename = "rel", default)]
111 pub rels: Vec<XlsxRichValueRelRelationship>,
112 #[serde(rename = "extLst", default)]
113 pub ext_lst: Option<XlsxInnerXml>,
114}
115
116#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
119pub struct XlsxRichValueRelRelationship {
120 #[serde(rename = "@id")]
121 pub id: String,
122}
123
124#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
128#[serde(rename = "rvStructures")]
129pub struct XlsxRichValueStructures {
130 #[serde(rename = "@count", default)]
131 pub count: Option<i64>,
132 #[serde(rename = "s", default)]
133 pub s: Vec<XlsxRichValueStructure>,
134 #[serde(rename = "extLst", default)]
135 pub ext_lst: Option<XlsxInnerXml>,
136}
137
138#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
141pub struct XlsxRichValueStructure {
142 #[serde(rename = "@t")]
143 pub t: String,
144 #[serde(rename = "k", default)]
145 pub k: Vec<XlsxRichValueKey>,
146}
147
148#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
150pub struct XlsxRichValueKey {
151 #[serde(rename = "@n")]
152 pub n: String,
153 #[serde(rename = "@t", default)]
154 pub t: Option<String>,
155}
156
157#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
160#[serde(rename = "webImagesSrd")]
161pub struct XlsxWebImagesSupportingRichData {
162 #[serde(rename = "webImageSrd", default)]
163 pub web_image_srd: Vec<XlsxWebImageSupportingRichData>,
164 #[serde(rename = "extLst", default)]
165 pub ext_lst: Option<XlsxInnerXml>,
166}
167
168#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
171pub struct XlsxWebImageSupportingRichData {
172 #[serde(rename = "address", default)]
173 pub address: XlsxExternalReference,
174 #[serde(rename = "moreImagesAddress", default)]
175 pub more_images_address: XlsxExternalReference,
176 #[serde(rename = "blip", default)]
177 pub blip: XlsxExternalReference,
178}
179
180#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
183pub struct XlsxExternalReference {
184 #[serde(rename = "@r:id", default)]
185 pub r_id: Option<String>,
186}