ワークブックを読み込む際に定義名をフィルタリングする
可能な使用シナリオ
Aspose.Cellsでは、ワークブック内に存在する定義名をフィルタリングまたは削除することができます。定義名をロードするにはLoadDataFilterOptions::DefinedNamesを使用し、ワークブックをロードする際にそれらを削除するには~LoadDataFilterOptions::DefinedNamesを使用してください。ただし、定義名を削除すると、ワークブック内の数式が壊れる可能性があります。
ワークブックを読み込む際に定義名をフィルタリングする
以下のサンプルコードは、サンプルExcelファイルを読み込みます。このファイルはセルC1に定義名*SUM(MyName1, MyName2)が含まれています。ワークブックを読み込む際に定義名を削除するために~LoadDataFilterOptions::DefinedNamesを使用しているため、出力Excelファイル(61767861.xlsx)のセルC1の数式が壊れ、#NAME?*が表示されます。サンプルExcelファイルへのコードの効果を示すスクリーンショットを以下に示します。
サンプルコード
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(); |