2010-08-11 16 views
1

J'utilise l'API JExcel pour créer un fichier XLS. Je n'arrive pas à comprendre comment remplir une nouvelle cellule sans mise en forme de cellule spécifique. Je voudrais que la mise en forme soit automatiquement appliquée, comme dans Excel lorsque vous tapez une valeur dans une cellule et qu'elle détecte automatiquement ce que vous pensez que vous essayez d'entrer.À l'aide de l'API JExcel, comment entrer une valeur de cellule de type de données inconnu sans ajouter d'apostrophe cachée?

j'ai écrit quelque chose de similaire à ceci:

import jxl.Workbook; 
import jxl.write.Label; 
import jxl.write.WritableSheet; 
import jxl.write.WritableWorkbook; 

WritableWorkbook w = Workbook.createWorkbook(new File(xlsPath)); 
WritableSheet sheet = w.createSheet("Sheet1", 0); 
sheet.addCell(new Label(colNum, rowNum, "99")); 

Parce que j'utilisé un « label », la valeur entrée dans la cellule est '99 - remarquez l'apostrophe dans la valeur, le forçant à être évalué comme une valeur de texte. Les autres classes à utiliser sont Blank, Boolean, DateTime, Formula, Label et Number. Le problème est que je ne sais pas quel type sera la valeur de la cellule quand je la règle.

Comment puis-je entrer mes valeurs dans le champ sans connaître le type de données, et sans que l'API JExcel ne préfixe mes valeurs avec des apostrophes?

Répondre

1

Ces apostrophes n'apparaissent que lorsque j'ouvre le nouveau classeur à l'aide d'OpenOffice. Si je l'ouvre en utilisant Excel, les apostrophes ne sont pas automatiquement ajoutées. Dans ce cas, l'utilisation de la classe Label semble fonctionner correctement. Je vais appeler cela une bizarrerie OpenOffice.