スプレッドシート管理の操作
スプレッドシート管理の操作
Workbookクラスは、Aspose.Cells FOSS for C++におけるすべてのスプレッドシート操作のエントリーポイントです。新しいブックの作成、既存のXLSXファイルの読み込み、ワークシートの管理、結果の保存を行うメソッドを提供します。
新しいブックの作成
Workbookをインスタンス化して空のブックを作成します。デフォルトのワークシートが自動的に作成されます。
#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
using namespace Aspose::Cells_FOSS;
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Summary");
workbook.Save("output.xlsx");
return 0;
}既存のブックの読み込み
既存のXLSXファイルを読み込むには、Workbookコンストラクタにファイルパスを渡します。読み込み後、ワークシートとセルデータはすぐにアクセス可能です。
Workbook workbook("existing.xlsx");
Worksheet& sheet = workbook.GetWorksheets()[0];
// Access or modify cells here
workbook.Save("modified.xlsx");ワークシートプロパティの設定
Worksheet クラスは表示と保護のプロパティを公開します。これらを使用してシートの表示、グリッド表示、ズーム、タブの色を設定します。
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Data");
sheet.SetShowGridlines(false);
sheet.SetShowRowColumnHeaders(true);
sheet.SetZoom(80);ワークシートの保護と保護解除
シートの編集をロックするには Worksheet::Protect を呼び出し、保護を解除するには Worksheet::Unprotect を呼び出します:
sheet.Protect("password");
// ... distribute the workbook ...
sheet.Unprotect("password");シートと定義名のスコープが一意であることを保証する
プログラムで複数のワークシートを追加する場合、名前の衝突を防ぐために Workbook::EnsureUniqueSheetName を使用します。定義名が正しくスコープされていることを検証するには Workbook::EnsureValidDefinedNameScope を使用します。
workbook.EnsureUniqueSheetName();
workbook.EnsureUniqueDefinedName();ブックの保存
ブックを書き込むには Workbook::Save(fileName) を呼び出します。複数のオーバーロードがあり、ファイル名、ストリーム、または明示的な SaveFormat を受け付けます。
workbook.Save("products.xlsx");ヒントとベストプラクティス
- ワークブックの使用が終わったら、アンマネージドリソースを解放するために常に
Workbook::Dispose()を呼び出してください。 - ワークブック内ではワークシート名は一意である必要があります — バッチ追加後は
EnsureUniqueSheetNameを使用してください。 - 読みやすさを向上させるために、プレゼンテーション形式のシートには
Worksheet::SetShowGridlines(false)を設定してください。 - ワークシートビューの既定ズームレベル(パーセンテージ)を設定するには、
Worksheet::SetZoom(value)を使用してください。 Worksheet::SetTabColorで割り当てたタブの色は、ユーザーがワークシートを視覚的に区別するのに役立ちます。
一般的な問題
| 問題 | 原因 | 修正 |
|---|---|---|
| 読み込み時にファイルが見つかりません | パスが正しくありません | 絶対パスを使用するか、作業ディレクトリを確認してください |
| シート名の衝突 | シート追加時に名前が重複しています | 各追加後に EnsureUniqueSheetName() を呼び出す |
| ブックの変更が保存されていません | Save が呼び出されていません | 終了前に必ず workbook.Save(path) を呼び出す |
| メモリリークの警告 | Dispose が呼び出されていません | スコープの終了時に workbook.Dispose() を呼び出す |
API Reference の概要
| クラス/メソッド | 説明 |
|---|---|
Workbook() | 新しい空のワークブックを作成します |
Workbook(filePath) | 既存の XLSX ファイルを読み込みます |
Workbook::Save(fileName) | ワークブックをディスクに保存します |
Workbook::EnsureUniqueSheetName() | 重複したシート名を解決します |
Workbook::Dispose() | リソースを解放します |
Worksheet::SetName(name) | ワークシートの名前を変更します |
Worksheet::SetShowGridlines(bool) | グリッド線の表示状態を切り替えます |
Worksheet::SetZoom(percent) | デフォルトのズームパーセンテージを設定します |
Worksheet::Protect(password) | ワークシートをロックします |
Worksheet::Unprotect(password) | ワークシートのロックを解除します |