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.xml と docProps/app.xml パーツの構築とロードを行います:
| Part | 管理者 | Contains |
|---|---|---|
docProps/core.xml | XlsxDocumentProperties::BuildCorePropertiesDocument | タイトル、著者、作成日、更新日 |
docProps/app.xml | XlsxDocumentProperties::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 パッケージング |