よくある質問
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を使用してスタックサイズを自分でトレースすることができます。ただし、すべてのセルのスタックを確認すると、パフォーマンスが著しく低下します。参考のためにサンプルコードセグメントをご覧ください: