はじめに

スプレッドシート管理は aspose-cells-foss-rust クレートの核です: ワークブック、シート、セルをモデル化するオブジェクトと、Rust のデータを見栄えのする XLSX ファイルに変換する操作です。この投稿では、その表層を順に解説します — シートの作成や型付き値の書き込みから、スタイリング、ページレイアウト、そしてワークブックを使いやすくする構造的機能(コメント、ハイパーリンク、テーブル、定義名)まで。

ここに示すすべてはオープンソースで MIT ライセンスのクレートの一部です。Microsoft Office のインストールは一切必要ありません。ライブラリは XLSX パッケージ形式を直接読み書きします。

このセクションは、最新の製品動作および API カバレッジに対する現在のソースモデルと照らし合わせてレビューされています。


主な機能

ワークシートとセルコレクション

ワークシートはワークブックのワークシートコレクションを通じて管理されます。シートはインデックスまたは名前で指定でき、set_name で名前を変更し、セルは get_cells(読み取り)または get_cells_mut(書き込み)で取得します:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Charts")?;
    {
        let mut cells = sheet.get_cells_mut();
        cells.get("A1")?.put_value_string("Month")?;
        cells.get("B1")?.put_value_string("Sales")?;
    }
}

名前またはインデックスによる型付き値

セルは文字列、整数、ブール値、十進数、日時を型付きセッターで受け取ります。セルは A1 形式(get("B3"))または数値インデックス(get_by_index(row, column))で指定でき、生成されたレイアウトに適しています:

for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
    cells
        .get_by_index(month, 1)
        .put_value_i32((month as i32 * 1000) + (month as i32 * 50))?;
}

キャッシュされた値を持つ数式

put_formula_with_cached_value は、数式テキストと、最初の再計算前に Excel が表示すべき値(キャッシュされた結果)を一緒に保存します — キャッシュ結果を読み取る他のツールでファイルが使用される場合に重要です:

cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

スタイリングとページレイアウト

CellStyleFontFillBorders を保持し、StyleFlag は更新が適用されるスタイル要素を選択します。NumberFormat は値の表示方法を制御し、PageSetup は印刷用に PaperSizeTypePageOrientationType を管理します。FreezePane と行/列の VisibilityType は大規模シートのナビゲーションを容易にします。

コメント、ハイパーリンク、名前

レビューアのワークフローとナビゲーションは、CommentCommentCollectionHyperlinkHyperlinkCollection、および名前付き範囲用の DefinedNameDefinedNameCollection によってカバーされています。

構造化テーブルとフィルタ

ListObject は範囲を TableStyleType のスタイルと TotalsCalculation 行を持つ構造化テーブルに変換します。AutoFilterFilterColumnFilterOperatorType 条件によるフィルタリングを追加します。


クイックスタート

Cargo.toml にクレートを git 依存として追加します(このクレートはまだ crates.io で公開されていません):

# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }

最小限のスプレッドシート管理セッション — 作成、書き込み、保存、再読み込み:

use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    let mut workbook = Workbook::new();
    {
        let mut worksheets = workbook.get_worksheets_mut();
        let sheet = worksheets.get(0)?;
        let mut cells = sheet.get_cells_mut();

        cells.get("A1")?.put_value_string("Item")?;
        cells.get("B1")?.put_value_string("Quantity")?;
        cells.get("A2")?.put_value_string("Apples")?;
        cells.get("B2")?.put_value_i32(12)?;
    }
    workbook.save("inventory.xlsx")?;

    let loaded = Workbook::load_xlsx("inventory.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A2 = {}", cells.get("A2")?.display_string_value());

    Ok(())
}

サポートされている形式

フォーマット拡張子読み取り書き込み
XLSX.xlsx

ロード時には、構造化された LoadDiagnostics と共に LoadOptions の修復フラグ(try_repair_packagetry_repair_xml)を受け付けます。保存は savesave_xlsx、または save_with_format を使用し、SaveFormat 列挙体で指定します。


オープンソース & ライセンス

Aspose.Cells FOSS for Rust は MIT ライセンスです。ソースコードは GitHub にあります; 商用利用、改変、再配布が許可されています。


はじめに

関連リソース