Lettura di valori di celle in thread multipli contemporaneamente
Come leggere i valori della cella in più thread contemporaneamente con Aspose.Cells for Java
Per leggere i valori delle celle in più di un thread contemporaneamente, impostare Worksheet.getCells().setMultiThreadReading() su true. Se non lo si fa, potrebbero essere ottenuti valori errati delle celle. Si noti che alcune funzionalità come la formattazione dei valori delle celle non sono supportate per i thread multipli. Quindi, la lettura multithread abilita solo l’accesso ai dati originali delle celle. In un ambiente multi-thread se si cerca di ottenere il valore formattato della cella, ad esempio tramite Cell.getStringValue() per i valori numerici, potrebbe essere ottenuto un risultato inaspettato o un’eccezione.
Il seguente codice:
- Crea un workbook.
- Aggiunge un foglio di lavoro.
- Popola il foglio di lavoro con valori di stringa.
- Quindi crea due thread che leggono contemporaneamente valori da celle casuali. Se i valori letti sono corretti, non succede nulla. Se i valori letti non sono corretti, viene visualizzato un messaggio.
Se si commenta questa riga:
testWorkbook.getWorksheets().get(0).getCells().setMultiThreadReading(true);
allora viene visualizzato il seguente messaggio:
if (s.equals("R" + row + "C" + col)!=true)
{
System.out.println("This message box will show up when cells read values are incorrect.");
}
In caso contrario, il programma viene eseguito senza mostrare alcun messaggio, il che significa che tutti i valori letti dalle celle sono corretti.