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でディスクに保存するput_value_string、put_value_i32、put_value_bool、put_value_decimal、put_value_date_timeput_formula_with_cached_value を使用してキャッシュされた結果付きの数式を書き込むdisplay_string_value と value_type で値を読み戻すget、get_by_index)CellStyle と Font、Fill、Borders を使用したセルのスタイリングStyleFlag を使用して対象のスタイルを更新NumberFormat による数値書式設定PageSetup による印刷およびページレイアウト(用紙サイズ、向き、余白)FreezePane でペインを固定し、行/列の表示/非表示を制御ChartType を使用して、列、線、その他のチャートタイプを追加Chart, ChartCollection)Picture で画像を埋め込み、Shape で描画シェイプを追加SparklineGroup でセル内トレンドをコンパクトに表示FormatCondition による条件付き書式ルールOperatorType と共に Validation によるデータ検証ルールAutoFilter によるオートフィルタ; ListObject による構造化テーブルDefinedName による定義名; WorkbookProtection と WorksheetProtection による保護LoadOptions の修復フラグと LoadDiagnostics を使用した堅牢な 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(())
}
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,
)?;
このクレートは MIT ライセンスの下でリリースされています; 完全なテキストはリポジトリ内の LICENSE.txt として提供されています。
はい。MIT ライセンスは、著作権表示とライセンス通知が保持されている限り、商業利用、改変、再配布を許可します。
GitHub リポジトリからの git 依存として、Cargo.toml に aspose-cells-foss-rust を追加してください。
XLSX は、Workbook::load_xlsx と save を使用した完全な往復読み書きに対応しています。現在のリリースでは、他のスプレッドシート形式はサポートされていません。
いいえ。このライブラリはXLSXパッケージ形式を直接読み書きします — Office のインストールや COM オートメーション、外部ランタイムは使用されません。