Comment lire des chaînes numériques dans les cellules Excel comme du texte (pas des nombres) ?

Quand je lis un fichier Excel en Java/C#, les cellules contenant des nombres stockés comme texte sont lues comme des nombres. Comment les lire comme des chaînes ?

Avec Apache POI (Java) :

DataFormatter formatter = new DataFormatter();
String value = formatter.formatCellValue(cell);

Cela retournera toujours une chaîne, qu’elle soit stockée comme nombre ou texte.

Avec EPPlus (C#) :

string value = worksheet.Cells[row, col].Text;

Avec openpyxl (Python) :

cell = ws['A1']
value = str(cell.value)

L’astuce est d’utiliser la propriété .Text ou un formateur plutôt que .Value qui retourne le type natif.