2010-11-09 9 views
0

Je suis bloqué à un moment donné lorsque j'essaie d'exporter des données dans Excel.Exporter vers Excel à partir de Java - InvocationTargetException

Voici mon code

List<String> headers = new ArrayList<String>(); 
////////////////////////////////////////////// 
/// Added some headers in between to the list    
/////////////////////////////////////////////// 

HSSFCell[] cell = new HSSFCell[headers.size()]; 

for (int i = 0; i < headersHSSF.length; i++) { 
    cell[i] = excelRow.createCell(i);  
    cell[i].setCellValue(new HSSFRichTextString(headers.get(i))); 
} 

Ce code est de lancer InvocationTargetException pour toute personne ligne

cell[i].setCellValue(new HSSFRichTextString(headers.get(i))); 

Peut-s'il vous plaît me dire la raison pour laquelle ce phénomène se produit?

(PS:. Je demande le code de Flex interface utilisateur Ce n'est pas appelé à partir du code java)

+0

Vous devrez probablement fournir la pile de données pour cette exception. 'InvocationTargetException' signifie simplement qu'une méthode invoquée indirectement (par exemple par réflexion) a lancé une exception vérifiée. Donc en ce moment la seule information qui peut être glanée est "quelque chose a mal tourné". ;-) –

+0

J'ai déjà un try-catch qui l'entoure, il ne montre rien sur la console du serveur :( – Vishal

+0

@pvsm - nous avons besoin de la trace de pile, avez-vous un journal? Une chance d'enregistrer l'exception? –

Répondre

0

InvocationTargetException est une exception contrôlée qui enveloppe une exception levée par une méthode appelée ou constructeur.

Il se peut que l'exception soit levée lors de la création d'une classe HSSFRichTextString. Dans ce cas, je regarderais (debug) à la valeur de headers.get(i) d'abord.

Il y a de bonnes chances que vous ayez un IndexOutOfBoundsException imbriqué, car la taille du tableau headersHSSF peut être supérieure à la taille de la liste headers.

Changer la signature de boucle:

for (int i = 0; i < headers.size(); i++) { 

et vérifiez, si l'erreur est le même, disparu ou différents.