はじめに
スプレッドシート管理は 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))?;
スタイリングとページレイアウト
CellStyle は Font、Fill、Borders を保持し、StyleFlag は更新が適用されるスタイル要素を選択します。NumberFormat は値の表示方法を制御し、PageSetup は印刷用に PaperSizeType と PageOrientationType を管理します。FreezePane と行/列の VisibilityType は大規模シートのナビゲーションを容易にします。
コメント、ハイパーリンク、名前
レビューアのワークフローとナビゲーションは、Comment と CommentCollection、Hyperlink と HyperlinkCollection、および名前付き範囲用の DefinedName と DefinedNameCollection によってカバーされています。
構造化テーブルとフィルタ
ListObject は範囲を TableStyleType のスタイルと TotalsCalculation 行を持つ構造化テーブルに変換します。AutoFilter は FilterColumn と FilterOperatorType 条件によるフィルタリングを追加します。
クイックスタート
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_package、try_repair_xml)を受け付けます。保存は save、save_xlsx、または save_with_format を使用し、SaveFormat 列挙体で指定します。
オープンソース & ライセンス
Aspose.Cells FOSS for Rust は MIT ライセンスです。ソースコードは GitHub にあります; 商用利用、改変、再配布が許可されています。