저는 C#을 사용하여 XML로 OpenDocument 스프레드 시트를 작성하고 있습니다. 단지 다음과 같이 잘 작동 두 배 값을 쓰기에 문제가 : 날짜 시간 값을 저장하려고 할 때OpenDocument에서 .NET DateTime을 저장하는 방법
private void SaveFloatCell(XmlNode rowNode, XmlDocument ownerDocument, double number)
{
XmlElement cellNode = ownerDocument.CreateElement("table:table-cell", this.GetNamespaceUri("table"));
XmlAttribute valueType = ownerDocument.CreateAttribute("office:value-type", this.GetNamespaceUri("office"));
valueType.Value = "float";
cellNode.Attributes.Append(valueType);
XmlAttribute value = ownerDocument.CreateAttribute("office:value", this.GetNamespaceUri("office"));
value.Value = number.ToString(CultureInfo.InvariantCulture);
cellNode.Attributes.Append(value);
rowNode.AppendChild(cellNode);
}
그러나, 나는 그들을 제대로 표시 얻을 수 없습니다. 더와 내가 발견 한 다양한 코드 조각을 가지고 노는 꽤을 썼다
private void SaveDateTimeCell(XmlNode rowNode, XmlDocument ownerDocument, double number, string format)
{
XmlElement cellNode = ownerDocument.CreateElement("table:table-cell", this.GetNamespaceUri("table"));
XmlAttribute valueType = ownerDocument.CreateAttribute("office:value-type", this.GetNamespaceUri("office"));
valueType.Value = "date";
cellNode.Attributes.Append(valueType);
XmlAttribute value = ownerDocument.CreateAttribute("office:value", this.GetNamespaceUri("office"));
value.Value = Utils.DateTime(number).ToString("yyyy-mm-ddThh:mm:ss");
cellNode.Attributes.Append(value);
rowNode.AppendChild(cellNode);
}
:하지만, 이것은 내가 대신 지정된 날짜 형식의 셀에 "2012"을 표시하는, 지금까지없는 것입니다 성공. 오프 세트에, 거기에 어떤 관대 한 영혼이 있습니까?
감사합니다.
감사합니다 Jon - 불행히도 CultureInfo.InvariantCulture가 작동하지 않으며 형식에 대한 제안 된 변경 사항도 없습니다. 대답은 OpenDocument XML 속성의 검은 기술과 관련이 있다는 느낌이 들었습니다. 여하튼 당신의 도움을 위해 많은 감사합니다! –