ConverterBuilder

Struct ConverterBuilder 

Source
pub struct ConverterBuilder { /* private fields */ }
Expand description

Fluent Builder APIを提供する構造体

Converterインスタンスを段階的に構築するためのビルダーです。 すべての設定項目にデフォルト値が設定されており、必要な設定のみをオーバーライドできます。

§使用例

use xlsxzero::{ConverterBuilder, SheetSelector, MergeStrategy};

let converter = ConverterBuilder::new()
    .with_sheet_selector(SheetSelector::Index(0))
    .with_merge_strategy(MergeStrategy::HtmlFallback)
    .build()?;

Implementations§

Source§

impl ConverterBuilder

Source

pub fn new() -> Self

デフォルト設定を持つビルダーインスタンスを生成する

§デフォルト設定
  • シート選択: すべてのシート
  • セル結合戦略: データ重複フィル
  • 日付形式: ISO 8601 (YYYY-MM-DD)
  • 非表示要素: スキップ
  • 数式モード: キャッシュ値を出力
§使用例
use xlsxzero::ConverterBuilder;

let builder = ConverterBuilder::new();
Source

pub fn with_sheet_selector(self, selector: SheetSelector) -> Self

変換対象のシートを選択する

§引数
  • selector: SheetSelector: シート選択方式
§使用例
use xlsxzero::{ConverterBuilder, SheetSelector};

// 単一シートをインデックスで指定
let builder = ConverterBuilder::new()
    .with_sheet_selector(SheetSelector::Index(0));

// 単一シートを名前で指定
let builder = ConverterBuilder::new()
    .with_sheet_selector(SheetSelector::Name("Sheet1".to_string()));

// 複数シートを指定
let builder = ConverterBuilder::new()
    .with_sheet_selector(SheetSelector::Indices(vec![0, 2, 4]));
Source

pub fn with_merge_strategy(self, strategy: MergeStrategy) -> Self

セル結合の処理戦略を指定する

§引数
  • strategy: MergeStrategy: セル結合戦略
§使用例
use xlsxzero::{ConverterBuilder, MergeStrategy};

let builder = ConverterBuilder::new()
    .with_merge_strategy(MergeStrategy::HtmlFallback);
Source

pub fn with_date_format(self, format: DateFormat) -> Self

日付の出力形式を指定する

§引数
  • format: DateFormat: 日付形式
§使用例
use xlsxzero::{ConverterBuilder, DateFormat};

// ISO 8601形式(デフォルト)
let builder = ConverterBuilder::new()
    .with_date_format(DateFormat::Iso8601);

// カスタム形式
let builder = ConverterBuilder::new()
    .with_date_format(DateFormat::Custom("%Y年%m月%d日".to_string()));
Source

pub fn with_formula_mode(self, mode: FormulaMode) -> Self

数式セルの出力モードを指定する

§引数
  • mode: FormulaMode: 数式出力モード
§使用例
use xlsxzero::{ConverterBuilder, FormulaMode};

let builder = ConverterBuilder::new()
    .with_formula_mode(FormulaMode::Formula);
Source

pub fn include_hidden(self, include: bool) -> Self

非表示要素(非表示シート、行、列)を出力に含めるかを指定する

§引数
  • include: bool:
    • true: 非表示要素を含める
    • false: 非表示要素をスキップ(デフォルト)
§Phase I制限事項

Phase Iでは calamine ライブラリの制限により、非表示行・非表示列の情報を取得できません。 そのため、include_hidden(false) を指定しても非表示行・列のフィルタリングは機能しません。 非表示シートのみがフィルタリング対象となります。 Phase IIで xl/worksheets/sheet*.xml から hidden="1" 属性を直接パースすることで完全対応予定です。

§使用例
use xlsxzero::ConverterBuilder;

let builder = ConverterBuilder::new()
    .include_hidden(true);
Source

pub fn with_range(self, start: (u32, u32), end: (u32, u32)) -> Self

処理対象のセル範囲を制限する

範囲外のセルは無視されます。

§引数
  • start: (u32, u32): 開始セル座標 (row, col)(0始まり)
  • end: (u32, u32): 終了セル座標 (row, col)(0始まり)
§制約
  • start.0 <= end.0 かつ start.1 <= end.1 でなければならない
  • 制約違反の場合、build()時にXlsxToMdError::Configを返す
§使用例
use xlsxzero::ConverterBuilder;

// A1:C10の範囲を処理(0始まりなので、row 0-9, col 0-2)
let builder = ConverterBuilder::new()
    .with_range((0, 0), (9, 2));
Source

pub fn with_output_format(self, format: OutputFormat) -> Self

出力フォーマットを指定する

§引数
  • format: OutputFormat: 出力フォーマット(Markdown, HTML, JSON, CSV)
§使用例
use xlsxzero::{ConverterBuilder, OutputFormat};

// JSON形式で出力
let builder = ConverterBuilder::new()
    .with_output_format(OutputFormat::Json);

// CSV形式で出力
let builder = ConverterBuilder::new()
    .with_output_format(OutputFormat::Csv);
Source

pub fn build(self) -> Result<Converter, XlsxToMdError>

設定を検証し、Converterインスタンスを生成する

§戻り値
  • Ok(Converter): 設定が有効な場合、Converterインスタンス
  • Err(XlsxToMdError::Config): 設定が無効な場合(例: 範囲指定の開始 > 終了)
§発生し得るエラー
  • XlsxToMdError::Config(String): 設定の検証に失敗した場合
    • 範囲指定の開始座標が終了座標より大きい
    • カスタム日付形式が不正な書式文字列
§使用例
use xlsxzero::{ConverterBuilder, SheetSelector};

let converter = ConverterBuilder::new()
    .with_sheet_selector(SheetSelector::Index(0))
    .build()?;

Trait Implementations§

Source§

impl Debug for ConverterBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ConverterBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.