pub enum RenderMode {
Filled,
InputsOnly,
}Expand description
How render_xlsx writes the workbook’s formula output cells (WBVER-02).
Filled (the default) is the historical behavior: every formula cell is
written as a formula-with-cached-result (<f> + the executor’s cached <v>),
so the download is a “copy of the workbook, filled in.” InputsOnly is the
double-entry verification copy: input/non-formula cells are still seeded with
the caller’s values, but formula cells are written as BARE formulas — the
server contributes ZERO output values, so Excel recomputes everything from
scratch (D-05: a CLEAN copy, no extra highlighting/formatting/comments).
NOTE: rust_xlsxwriter always structurally emits a <v> for a formula cell
and always sets fullCalcOnLoad=1, so a BARE formula carries the writer’s
NEUTRAL <v>0</v> placeholder (NOT the executor’s value) with no value-type
attribute — the literal-<v>-absent shape is not expressible. The verification
guarantee holds: the cached value is the executor’s NONE in InputsOnly, and
Excel (which always recalculates on load) is the sole oracle.
The serde rename makes it (de)serialize as "filled" / "inputs_only" so it
can ride inside the workbook:// URI payload. An ABSENT field defaults to
Filled (via Default); a PRESENT-but-unknown string (e.g. "bogus") is a
serde DECODE ERROR, NOT a silent Filled — there is deliberately no
#[serde(other)]/catch-all variant.
Variants§
Filled
Formula cells carry <f> + the executor’s cached <v> (the default —
byte-identical to the pre-WBVER-02 single-mode render).
InputsOnly
Formula cells carry a BARE <f> with NO cached <v>; input/non-formula
cells are seeded unchanged. Excel recomputes every output on load.
Trait Implementations§
Source§impl Clone for RenderMode
impl Clone for RenderMode
Source§fn clone(&self) -> RenderMode
fn clone(&self) -> RenderMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RenderMode
Source§impl Debug for RenderMode
impl Debug for RenderMode
Source§impl Default for RenderMode
impl Default for RenderMode
Source§fn default() -> RenderMode
fn default() -> RenderMode
Source§impl<'de> Deserialize<'de> for RenderMode
impl<'de> Deserialize<'de> for RenderMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RenderMode
Source§impl PartialEq for RenderMode
impl PartialEq for RenderMode
Source§impl Serialize for RenderMode
impl Serialize for RenderMode
impl StructuralPartialEq for RenderMode
Auto Trait Implementations§
impl Freeze for RenderMode
impl RefUnwindSafe for RenderMode
impl Send for RenderMode
impl Sync for RenderMode
impl Unpin for RenderMode
impl UnsafeUnpin for RenderMode
impl UnwindSafe for RenderMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.