2010-09-09 4 views
0

Voici mon code java pour la lecture d'un contenu de feuille Excel.Erreur dans l'utilisation getRichStringCellValue() d'Apache POI

String urlcnt=""; 
for (Row row : sheet) { 
{ 
Cell firstCell = row.getCell(0); 
urlcnt=firstCell.getRichStringCellValue();} 

Lors de la compilation du code ci-dessus est l'erreur suivante.

ReadExcel.java:18: incompatible types 
found : org.apache.poi.ss.usermodel.RichTextString required: java.lang.String 
        urlcnt=firstCell.getRichStringCellValue();//This line is the cause for the error 

Au lieu de stocker le getRichStringCellValue() dans une chaîne, si je viens imprimer la valeur de la cellule, il fonctionne très bien. Mais je vais de l'avant et le stocker dans une chaîne pour le traitement ultérieur du problème se produit.

Veuillez laissez-moi savoir ce qui doit être fait pour proceeed.

Répondre

1

L'erreur est parce que getRichStringCellValue() retourne un HSSFRichTextString ou XSSFRichTextString (selon que votre cellule est HSSFCell ou XSSFCell) et vous assignez à un String

En fonction de votre traitement ultérieur -

Voulez-vous appeler applyFont ou clearFormatting sur le HSSFRichTextString? puis le stocker dans un HSSFRichTextString/XSSFRichTextString.

Si vous voulez vraiment que le texte de chaîne, utilisez la méthode getString() de l'API de POI

Mise à jour selon vos commentaires

utiliser comme

urlcnt=firstCell.getRichStringCellValue().getString(); 
+0

Pouvez-vous être un peu plus explicatif? comment le stocker dans un HSSFRichTextString? – LGAP

+0

Je veux que le texte String seul. Le traitement ultérieur consiste simplement à comparer la chaîne avec la base de données et à l'ajouter dans la base de données. – LGAP

+0

Merci josek .. Maintenant, son parfait. Merci encore :) – LGAP

Questions connexes