XLSX パッケージングの操作

XLSX パッケージングの操作

XLSX パッケージングの操作

Aspose.Cells FOSS for C++ は、専用のシリアライズ層を通じて .xlsx Open XML フォーマットの読み書きを行います。XlsxWorkbookSerializer クラスは、ワークシート、スタイル、定義名、ドキュメントプロパティ、オートフィルタを含むすべてのブックパーツのロードとセーブを統括します。


XLSX ファイルの読み込みと保存

すべてのロードおよびセーブ操作には Workbook クラスを使用してください。内部では、XlsxWorkbookSerializer が Open XML パッケージングを処理します:

#include "aspose/cells_foss/Workbook.h"

using namespace Aspose::Cells_FOSS;

int main() {
    // Load existing XLSX
    Workbook workbook("input.xlsx");

    // Modify content...

    // Save back to XLSX
    workbook.Save("output.xlsx");
    return 0;
}

ドキュメントプロパティ

XLSX ファイルはコアおよび拡張ドキュメントプロパティ(タイトル、作成者、作成日)を保持しています。これらは XlsxDocumentProperties によって管理され、docProps/core.xmldocProps/app.xml パーツの構築とロードを行います:

Part管理者Contains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocumentタイトル、著者、作成日、更新日
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocumentアプリケーション名、バージョン

ワークブックのメタデータと設定

Workbook-level メタデータ — 計算設定、ブックビュー、および workbook 保護 — は XlsxWorkbookProperties によって管理されます:

  • BuildWorkbookPropertiesElement — workbook の計算および反復設定を書き込みます
  • BuildWorkbookProtectionElement — workbook レベルのパスワード保護を書き込みます
  • BuildBookViewsElement — ウィンドウ位置とアクティブシートの設定を書き込みます

スタイルと数値書式

スタイル部分(xl/styles.xml)は XlsxWorkbookStyles によって管理されます。インメモリモデルの Style オブジェクトを、シリアライズされたフォント、塗りつぶし、枠線、および number-format レコードにマッピングします:

  • BuildStylesheet — すべてのスタイルを XML にシリアライズします
  • LoadStylesheet — 既存の XLSX ファイルからスタイルを読み取ります
  • StylesEqual — 2つのスタイルオブジェクトが同一のXMLを生成するかどうかをチェックします

Auto-Filter パッケージング

ワークシートごとのオートフィルタ状態はXlsxWorkbookAutoFilterによってシリアライズされます:

  • BuildAutoFilterElement<autoFilter> XML 要素を書き込みます
  • LoadAutoFilter — ワークシート パートからオートフィルタ設定を読み取ります

定義された名前

名前付き範囲と数式はブック パートにパッケージ化され、XlsxWorkbookDefinedNamesによって読み込まれます:

  • BuildDefinedNames — すべてのDefinedNameエントリをブック XML に書き込みます
  • LoadWorkbookDefinedNames — ファイル読み込み時に定義された名前を読み取ります

ヒントとベストプラクティス

  • Workbook::Save(fileName) を唯一の出口ポイントとして使用してください — ライブラリを拡張する場合を除き、シリアライザクラスを直接呼び出さないでください。
  • .xlsx フォーマットは唯一完全にサポートされているフォーマットです;他のフォーマットへの保存は v0.1 では利用できません。
  • Workbook(filePath) または Save(filePath) に渡すファイルパスは、プラットフォームのパス区切り文字を使用し、作業ディレクトリが変わる可能性のある環境で実行する場合は完全修飾パスである必要があります。
  • XlsxWorkbookProperties::BuildWorkbookProtectionElement によって適用されるブック保護は、Worksheet::Protect を通じて設定されたシートレベルの保護とは独立しています。

一般的な問題

課題原因修正
ファイルの読み込みに失敗しました無効または暗号化されたXLSXファイルがプレーン(パスワードで保護されていない)XLSXであることを確認してください
保存後にスタイルが失われる保存前にスタイルが適用されていないWorkbook::Save の前に Cell::SetStyle(style) を呼び出してください
往復後に定義された名前が欠落していますスコープが誤ったシートに設定されています完全な範囲アドレスで DefinedName::SetFormula を使用してください

API Reference の概要

クラス/メソッド説明
Workbook(filePath)XLSX ファイルを読み込む
Workbook::Save(fileName)XLSX に保存する
XlsxWorkbookSerializer::Save内部: モデルを Open XML にシリアライズします
XlsxWorkbookSerializer::Load内部: Open XML をモデルにデシリアライズします
XlsxDocumentPropertiesコアおよび拡張ドキュメントプロパティのパッケージング
XlsxWorkbookPropertiesワークブックのメタデータと設定のシリアライズ
XlsxWorkbookStylesスタイルシート パッケージング
XlsxWorkbookAutoFilterオートフィルタ XML パッケージング
XlsxWorkbookDefinedNames定義名 XML パッケージング

参照

 日本語