Bonjour,

J'arrive à créer un fichier ODS, via un code C# du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
XmlElement text;
text.InnerText = "123,45";
J'obtiens le fichier ODS avec le "content.xml" qui contient la balise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
...
<table:table-cell office:value-type="string"><text:p>123,45</text:p></table:table-cell>
...
Mais comme le paramètre "office:value-type" l'indique, la valeur est de type chaîne.

Si je crée un fichier ODS à la main, avec des valeurs réelles ou monétaires, j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
...
<table:table-cell office:value-type="float" office:value="123.45"><text:p>123,45</text:p></table:table-cell>
...
<table:table-cell office:value-type="currency" office:currency="EUR" office:value="123.45"><text:p>123,45 €</text:p></table:table-cell>
...
Je modifie le code C# de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
XmlElement text;
text.InnerText = "123,45";
XmlAttribute attributeCurrency = contentXml.CreateAttribute("office:currency");
XmlAttribute attributeValue    = contentXml.CreateAttribute("office:value");
XmlNode table_cell = text.ParentNode;
table_cell.Attributes["office:value-type"].InnerText = "currency";
attributeCurrency.Value = "EUR";
table_cell.Attributes.Append(attributeCurrency);
attributeValue.Value    = "123.45";
table_cell.Attributes.Append(attributeValue);
Mais alors j'obtiens le fichier "content.xml" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
...
<table:table-cell office:value-type="currency" office:currency="EUR" office:value="0"><text:p>0,00 €</text:p></table:table-cell>
...
Comme on le voit les valeurs sont à zéro alors ques les attributs "office:value-type" et "office:currency" sont corrects.

Une idée ?????

Merci d'avance,