Bonjour,
J'arrive à créer un fichier ODS, via un code C# du type :
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 XmlElement text; text.InnerText = "123,45";
Mais comme le paramètre "office:value-type" l'indique, la valeur est de type chaîne.
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> ...
Si je crée un fichier ODS à la main, avec des valeurs réelles ou monétaires, j'obtiens :
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 ... <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> ...
Mais alors j'obtiens le fichier "content.xml" :
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);
Comme on le voit les valeurs sont à zéro alors ques les attributs "office:value-type" et "office:currency" sont corrects.
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> ...
Une idée ?????
Merci d'avance,
![]()
Partager