複数のスレッドで同時にセル値を読み取る

Aspose.Cells for Java と共に複数スレッドでセル値を同時に読み取る方法

複数のスレッドでセル値を同時に読む場合、Worksheet.getCells().setMultiThreadReading()true に設定します。そうしないと、誤ったセル値を取得する可能性があります。注意: 複数スレッドではセル値の書式設定などの一部の機能はサポートされていません。したがって、MultiThreadReading はセルの元のデータにアクセスするだけを有効にします。複数スレッド環境では、数値セルの場合に Cell.getStringValue() などでセルの書式設定された値を取得しようとすると、予期しない結果または例外が発生する場合があります。

次のコード:

  1. ワークブックを作成します。
  2. ワークシートを追加します。
  3. 文字列値でワークシートを埋めます。
  4. 次に、ランダムなセルから同時に値を読み取る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.");

}

それ以外の場合、セルから読み取ったすべての値が正しい場合、プログラムはメッセージを表示せずに実行されます。