1. 製品
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Rust 用 Aspose.Cells FOSS

Office 依存がなく、Excel XLSX スプレッドシートの作成、読み取り、編集、保存を行うオープンソース Rust クレート。

Aspose.Cells FOSS — オープンソース Rust ライブラリ

Aspose.Cells FOSS for Rust は、Rust アプリケーションで Excel XLSX スプレッドシートを操作するためのオープンソースライブラリです。システムプログラマに対して、Microsoft Office や COM オートメーション、外部ランタイムなしで、スクラッチからワークブックを作成し、既存の XLSX ファイルを読み込み、内容を変更し、結果を保存するネイティブでメモリ安全な方法を提供します。

このクレートは、完全なスプレッドシートオブジェクトツリーをモデル化しています: Workbook、Worksheet、および型付き値セッター (put_value_string、put_value_i32、put_value_bool、put_value_decimal) を備えたセルコレクション、put_formula_with_cached_value によるキャッシュされた値を持つ数式、チャート (Chart、ChartType)、条件付き書式 (FormatCondition)、データ検証 (Validation)、オートフィルタ (AutoFilter)、セルスタイル (CellStyle、Font、Fill、Borders)、ページ設定 (PageSetup)、画像、シェイプ、コメント、ハイパーリンク、テーブル (ListObject)、スパークライン (SparklineGroup)、定義名、そしてワークブック/ワークシートの保護をサポートします。

Aspose.Cells FOSS for Rust は MIT ライセンスで提供され、Rust エディション 2021 を対象としています。GitHub リポジトリから標準的な Cargo 依存としてインストールできます — 正確な Cargo.toml エントリについてはインストールガイドを参照してください。エラーは従来の Result 型 (CellsError) を通じて表現され、XLSX のロード時には修復オプション (LoadOptions) と構造化診断情報 (LoadDiagnostics) が提供されます。エンタープライズ製品ファミリーについては、Aspose.Cells — Enterprise Product Family をご覧ください。

ブックとワークシートの管理

  • Workbook::newで空のワークブックを作成するか、Workbook::load_xlsxで既存ファイルを読み込む
  • add_worksheet、worksheet、および可変ワークシートコレクションを通じてシートを追加・アクセスする
  • save、save_xlsx、または形式を明示したsave_with_formatでディスクに保存する
  • ワークブックのビュー、設定、ドキュメントプロパティを制御する

どこに当てはまるか

  • Officeがインストールされていない環境でXLSXレポートを生成するバックエンドサービス
  • スプレッドシートをバッチ生成またはポストプロセスするCLIツール
  • ビジネスユーザー向けに表形式の結果をエクスポートするRustデータパイプライン

セル データ、数式、および型

  • 型付きセッター: put_value_string、put_value_i32、put_value_bool、put_value_decimal、put_value_date_time
  • put_formula_with_cached_value を使用してキャッシュされた結果付きの数式を書き込む
  • display_string_value と value_type で値を読み戻す
  • A1 名または行/列インデックスでセルにアクセスする(get、get_by_index)

実用的な使用例

  • 正しいキャッシュされた値で数式が開く必要がある財務エクスポート
  • 型付けされた列を持つデータ入力テンプレート
  • ユーザー提供のワークブックのラウンドトリップ編集

スタイリングとレイアウト

  • CellStyle と Font、Fill、Borders を使用したセルのスタイリング
  • StyleFlag を使用して対象のスタイルを更新
  • NumberFormat による数値書式設定
  • PageSetup による印刷およびページレイアウト(用紙サイズ、向き、余白)
  • FreezePane でペインを固定し、行/列の表示/非表示を制御

なぜ重要なのか

  • ブランド化された、印刷用にすぐ使えるレポートを Rust サービスから直接生成
  • 適切な数値と日付形式で読みやすいエクスポート
  • ヘッダー行が固定されたまま、操作しやすい大きなシート

チャート、画像、図形

  • シートのチャートコレクション上で ChartType を使用して、列、線、その他のチャートタイプを追加
  • 読み込んだファイルからチャートのアンカーとタイプを取得 (Chart, ChartCollection)
  • Picture で画像を埋め込み、Shape で描画シェイプを追加
  • SparklineGroup でセル内トレンドをコンパクトに表示

ユースケース

  • スケジュールで生成されるダッシュボードと KPI ワークブック
  • 生データの横に埋め込まれたビジュアルサマリー
  • データ範囲からの自動チャート配置

データ分析と保護

  • FormatCondition による条件付き書式ルール
  • OperatorType と共に Validation によるデータ検証ルール
  • AutoFilter によるオートフィルタ; ListObject による構造化テーブル
  • DefinedName による定義名; WorkbookProtection と WorksheetProtection による保護
  • LoadOptions の修復フラグと LoadDiagnostics を使用した堅牢な XLSX 読み込み

誰が利益を得るのか

  • 検証済みデータ入力ワークブックを出荷するチーム
  • 修復が必要になる可能性のあるサードパーティ製XLSXファイルを取り込むサービス
  • 事前にフィルタリングされ、保護されたレポートを受け取るアナリスト

ワークブックの作成、保存、再読み込み

ワークブックを作成し、型付きの値とキャッシュされた結果を持つ数式を書き込み、XLSXとして保存し、再度ロードします:

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

fn main() -> Result<(), Box<dyn Error>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    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("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("C1")?.put_value_bool(true)?;
        cells.get("D1")?.put_value_decimal(12.5)?;
        cells.get("F1")?.put_value_i32(10)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

修復オプションでXLSXファイルを読み込む

LoadOptions の修復フラグを使用してブックを防御的に開き、構造化されたロード診断を検査します:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();

println!("Saved: {}", valid_path.display());
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

データ範囲からチャートを追加

データ範囲を埋めてから、その範囲に列チャートと折れ線チャートをアンカーします:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;
charts.add(
    ChartType::Line,
    "Charts!$C$1:$C$13".to_string(),
    0,
    9,
    18,
    13,
)?;

よくある質問

Aspose.Cells FOSS for Rust はどのライセンスを使用していますか?

このクレートは MIT ライセンスの下でリリースされています; 完全なテキストはリポジトリ内の LICENSE.txt として提供されています。

商用製品で使用できますか?

はい。MIT ライセンスは、著作権表示とライセンス通知が保持されている限り、商業利用、改変、再配布を許可します。

クレートはどうやってインストールしますか?

GitHub リポジトリからの git 依存として、Cargo.toml に aspose-cells-foss-rust を追加してください。

どのフォーマットを読み書きできますか?

XLSX は、Workbook::load_xlsx と save を使用した完全な往復読み書きに対応しています。現在のリリースでは、他のスプレッドシート形式はサポートされていません。

Microsoft Officeが必要ですか?

いいえ。このライブラリはXLSXパッケージ形式を直接読み書きします — Office のインストールや COM オートメーション、外部ランタイムは使用されません。

  

サポートと学習リソース

 日本語