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