ワークブックを読み込む際に定義名をフィルタリングする

可能な使用シナリオ

Aspose.Cellsでは、ワークブック内に存在する定義名をフィルタリングまたは削除することができます。定義名をロードするにはLoadDataFilterOptions::DefinedNamesを使用し、ワークブックをロードする際にそれらを削除するには~LoadDataFilterOptions::DefinedNamesを使用してください。ただし、定義名を削除すると、ワークブック内の数式が壊れる可能性があります。

ワークブックを読み込む際に定義名をフィルタリングする

以下のサンプルコードは、サンプルExcelファイルを読み込みます。このファイルはセルC1に定義名*SUM(MyName1, MyName2)が含まれています。ワークブックを読み込む際に定義名を削除するために~LoadDataFilterOptions::DefinedNamesを使用しているため、出力Excelファイル(61767861.xlsx)のセルC1の数式が壊れ、#NAME?*が表示されます。サンプルExcelファイルへのコードの効果を示すスクリーンショットを以下に示します。

todo:image_alt_text

サンプルコード

Aspose::Cells::Startup();
U16String dataDir = u"";
//Specify the load options
LoadOptions opts;
LoadFilter filter(~LoadDataFilterOptions::DefinedNames);
//We do not want to load defined names
opts.SetLoadFilter(&filter);
//Load the workbook
Workbook wb = Workbook(dataDir + u"sampleFilterDefinedNamesWhileLoadingWorkbook.xlsx", opts);
//Save the output Excel file, it will break the formula in C1
wb.Save(dataDir + u"outputFilterDefinedNamesWhileLoadingWorkbook.xlsx");
Aspose::Cells::Cleanup();