同时读取多个线程中的单元格值

如何使用 Aspose.Cells for Java 在多个线程中同时读取单元格值。

为了在多个线程中同时读取单元格值,将Worksheet.getCells().setMultiThreadReading() 设置为true。如果不设置,可能会得到错误的单元格值。请注意,某些功能,比如格式化单元格值,在多线程环境下是不支持的。因此,多线程读取只能访问单元格的原始数据。在多线程环境中,如果尝试获取单元格的格式化值,比如对于数字值使用Cell.getStringValue(),可能会得到意外的结果或异常。

以下代码:

  1. 创建一个工作簿。
  2. 添加一个工作表。
  3. 用字符串值填充工作表。
  4. 然后创建两个同时从随机单元格中读取值的线程。 如果读取的值是正确的,则不会发生任何事情。如果读取的值不正确,则会显示一条消息。

如果您注释掉这一行:

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.");

}

否则,程序将在不显示任何消息的情况下运行,这意味着从单元格中读取的所有值都是正确的。