Lecture simultanée des valeurs Cell dans plusieurs threads

Comment lire les valeurs Cell dans plusieurs threads simultanément avec Aspose.Cells for Java

Pour lire les valeurs des cellules dans plusieurs threads simultanément, définissezFeuille de travail.getCells().setMultiThreadReading()à vrai*. Si vous ne le faites pas, vous risquez d’obtenir des valeurs de cellule erronées. Veuillez noter que certaines fonctionnalités telles que le formatage des valeurs de cellule ne sont pas prises en charge pour plusieurs threads. Ainsi, MultiThreadReading vous permet uniquement d’accéder aux données originales de la cellule. Dans un environnement à plusieurs threads, si vous essayez d’obtenir la valeur formatée de la cellule, par exemple avec Cell.getStringValue() pour les valeurs numériques, vous risquez d’obtenir un résultat ou une exception inattendue.

Le code suivant :

  1. Crée un classeur.
  2. Ajoute une feuille de calcul.
  3. Remplit la feuille de calcul avec des valeurs de chaîne.
  4. Il crée ensuite deux threads qui lisent simultanément les valeurs de cellules aléatoires. Si les valeurs lues sont correctes, rien ne se passe. Si les valeurs lues sont incorrectes, alors un message s’affiche.

Si vous commentez cette ligne :

testWorkbook.getWorksheets().get(0).getCells().setMultiThreadReading(true);

alors le message suivant s’affiche :

if (s.equals("R" + row + "C" + col)!=true)

{

    System.out.println("This message box will show up when cells read values are incorrect.");

}

Sinon, le programme s’exécute sans afficher aucun message, ce qui signifie que toutes les valeurs lues dans les cellules sont correctes.