Nous génèrons des fichiers calc avec l'API Java mais nous voulons que ce soit ouvrable et enregistrable dans Excel car nos utilisateurs veulent retraiter ensuite dans ce logiciel et pas dans Libre Office.
Quand nous sauvons en standard en .ods et que nous ouvrons avec Excel c'est ok par contre quand on fait "enregistrer" ou "enregistrer sous" nous avons le message d'erreur: toto.ods peut contenir des fonctionnalités non comptatibles avec ce format, voulez vous continuer et enregistrer dans ce format.
J'ai essayé donc d'enregistrer au format .xlsx par l'Api j'utilise le "FilterName" avec le format "Calc MS Excel 2007 XML" mais quand cela ouvre dans Excel j'ai le message "Désolé nous avons trouvé un problème dans le contenu de toto.xlsx mais nous pouvons essayer de récupérer le maximum de contenu. Si la source de ce classeur est fiable cliquez sur oui. Si on réponds oui il y a juste les datas mais pas la mise en forme (tableaux, gras...)
voici le code de l'enregistrement
Code : Tout sélectionner
File destFile = new java.io.File( adresseEtNomMonFichier.xlsx);
StringBuffer _sbUrl = new StringBuffer( "file:///" );
_sbUrl.append( destFile.getCanonicalPath().replace( '\\', '/' ) );
xstorable = (XStorable) UnoRuntime.queryInterface( XStorable.class, _xcomponent );
PropertyValue[] propertyvalue = new PropertyValue[2];
propertyvalue[0] = new PropertyValue();
propertyvalue[0].Name = "Overwrite";
propertyvalue[0].Value = new Boolean( true );
propertyvalue[1] = new PropertyValue();
propertyvalue[1].Name = "FilterName";
propertyvalue[1].Value = "Calc MS Excel 2007 XML";
xstorable.storeAsURL( _sbUrl.toString(), propertyvalue );
Bonne journée