よくある質問

Workbook.CalculateFormulaでSystem.StackOverFlowExceptionを修正する方法

ユーザーは、Workbook.CalculateFormulaメソッドでSystem.StackOverFlowExceptionに遭遇することがあります。この例外は通常、IISのデフォルトのスタックサイズが小さすぎる(265kのみ)ために発生します。スタックサイズを増やした別のスレッドを作成し、それに関連するコードを移動することでこのエラーを修正できます。

ExcelをPDFに変換する際の線の太さの問題

ExcelファイルをPDFに変換すると、出力されるPDFの線の太さが異なることがあります。この問題はAspose.Cellsによるものではなく、Adobe Readerの設定の"スムースラインアート"と"細い線を強調する"のチェックによるものです。これらのオプションをオフにすると、PDFが正常に表示されます。

“スムースラインアート"と"細い線を強調する"のチェックを外すと、線の太さが異なります。次の手順を参照してください:

  • “編集"に移動
  • “設定"を選択
  • “ページ表示"カテゴリで"スムースラインアート"と"細い線を強調する"をチェック

“スムースラインアート"と"細い線を強調する"のチェックを外すと、線の太さが同じになります。次の手順に従ってください:

  • “編集"に移動
  • “設定"を選択
  • “ページ表示"カテゴリで"スムースラインアート"と"細い線を強調する"のチェックを外す

大規模なスプレッドシートを読み込む際のSystem.OutOfMemoryExceptionの修正方法

大規模なスプレッドシートを読み込む際にWorkbookコンストラクタがSystem.OutOfMemoryExceptionをスローする可能性があります。この例外は、利用可能なメモリがスプレッドシートを完全に読み込むのに十分でないことを示唆しています。したがって、メモリ設定を有効にしてスプレッドシートを読み込む必要があります。

Aspose.Cells APIは、大規模なスプレッドシートを効率的に読み込むためのメモリ設定を提供しています。以下に示すように、これらのオプションは、大量のデータセットを含む大規模なスプレッドシートを効率的にWorkbookオブジェクトに読み込むのに役立ちます。

特定のワークブックに必要なスタックサイズを決定する

Aspose.Cellsの数式計算エンジンを強化していますが、ほとんどの場合、より小さなスタックサイズを指定せずに与えられたテンプレートファイルのすべての数式を正常に計算できるはずです。ただし、Workbook.CalculateFormulaメソッドでStackOverFlowExceptionが発生することがあります。この問題に対処するために、ユーザー向けに数式計算をトラッキングする新しいAPIを提供しています。“AbstractCalculationMonitor"というクラスを追加し、CalculationOptions.CalculationMonitorプロパティを提供しています。

ユーザーはAPIを使用してスタックサイズを自分でトレースすることができます。ただし、すべてのセルのスタックを確認すると、パフォーマンスが著しく低下します。参考のためにサンプルコードセグメントをご覧ください: