FarPoint.Win.SpreadJ アセンブリ > FarPoint.Win.Spread 名前空間 > FpSpread クラス : LoadFormulas メソッド |
'Declaration Public Sub LoadFormulas( _ ByVal recalculate As Boolean _ )
public void LoadFormulas( bool recalculate )
Spread にはクロスシート参照が実装されているので、数式に他のシートへの参照を含めることができます。そのような数式をファイルからロードする場合は、クロスシート参照を有効にするため、決まった順序でシートと数式をロードする必要があります。ファイルからロードされた数式の解析は、ワークシート内のすべてのシートがロードされるまで遅らせる必要があります。FpSpread.Open メソッドはこの処理を自動的に行い、XML をロードして正しい順序で解析します。
カスタムの逆シリアル化コードを作成していて、そのコードの中でシートを1つずつロードしてワークブックに追加している場合は、シートをワークブックに追加し終わった後に数式を解析するコードを追加する必要があります。この処理は、このメソッドで実行できます。このメソッドは、DefaultSheetDataModel クラスと SheetView クラスのほか、FpSpread クラスにも実装されています。SheetView.LoadFormulas メソッドまたは DefaultSheetDataModel.LoadFormulas メソッドをシート レベルで使用すると、特定のシートのすべてのデータ モデルに対して各メソッドが呼び出されます。FpSpread レベルで LoadFormulas メソッドを使用すると、すべてのシートに対してメソッドが呼び出されます。
次のサンプル コードは、シートをロードしてワークブックに追加するコードの後に呼び出す必要があります。
fpSpread1.Sheets.Add(FarPoint.Win.Serializer.LoadObject(typeof(FarPoint.Win.Spread.SheetView), "C:\\SavedSheet.xml", "RootNode")); fpSpread1.LoadFormulas(false);
FpSpread1.Sheets.Add(FarPoint.Win.Serializer.LoadObject(GetType(FarPoint.Win.Spread.SheetView), "C:\SavedSheet.xml", "RootNode")) FpSpread1.LoadFormulas(True)