複数のスレッドで同時にセル値を読み取る
Contents
[
Hide
]
複数のスレッドで同時にセル値を読み取る必要がある場合がよくあります。この記事ではその目的で Aspose.Cells の使用方法を説明します。
Aspose.Cells for Java と共に複数スレッドでセル値を同時に読み取る方法
複数のスレッドでセル値を同時に読む場合、Worksheet.getCells().setMultiThreadReading() を true に設定します。そうしないと、誤ったセル値を取得する可能性があります。注意: 複数スレッドではセル値の書式設定などの一部の機能はサポートされていません。したがって、MultiThreadReading はセルの元のデータにアクセスするだけを有効にします。複数スレッド環境では、数値セルの場合に Cell.getStringValue() などでセルの書式設定された値を取得しようとすると、予期しない結果または例外が発生する場合があります。
次のコード:
- ワークブックを作成します。
- ワークシートを追加します。
- 文字列値でワークシートを埋めます。
- 次に、ランダムなセルから同時に値を読み取る2つのスレッドを作成します。 読み取った値が正しい場合、何も起こりません。読み取った値が間違っている場合は、メッセージが表示されます。
この行をコメントアウトすると、次のメッセージが表示されます:
testWorkbook.getWorksheets().get(0).getCells().setMultiThreadReading(true);
それ以外の場合、すべてのセルから読み取った値が正しいことを意味するメッセージが表示されずにプログラムが実行されます。
if (s.equals("R" + row + "C" + col)!=true)
{
System.out.println("This message box will show up when cells read values are incorrect.");
}
それ以外の場合、セルから読み取ったすべての値が正しい場合、プログラムはメッセージを表示せずに実行されます。