2009-12-10 2 views
1

Я пишу xml-файл, который будет использоваться excel.C# writing excel file как xml

первенствует хочет этого:

<Cell><Data ss:Type="Number">25</Data></Cell> 

Я пишу это ...

<Cell> 
    <Data ss:Type="Number">25</Data> 
</Cell> 

Я понимаю, что EXCEL требовательно, но так как я использую XElelments, как я управлять форматирование вывода?

вот мой код, чтобы написать ячейку.

foreach(var propertyInfo in fi) 
       { 

        XElement oneCell = new XElement(root + "Cell", 
              new XElement(root + "Data", 
                new XAttribute(ss + "Type", "String"), propertyInfo.GetValue(cv, null) 
              ) 
             ); 
        oneRow.Add(oneCell); 

       } 

Как получить это, чтобы вывести ячейку и данные на одну и ту же строку?

Спасибо,

кальцита

+1

Превосходно ли это придирчивое? !! lol –

+0

Оказывается, сообщение в блоге, которое я читал, ошибочно относилось к тому, что Excel был придирчивым. Ошибка была вызвана промахом, помещенным тегом, не форматированием. –

ответ

1

Посмотрите это: XElement.Save Method

Если вы хотите сохранить отступом XML, не указать DisableFormatting флаг для опций. Это позволит удалить все посторонние незначительные пробелы и добавить соответствующее незначительное пустое пространство, чтобы XML был правильно отступом. Это поведение по умолчанию и поведение перегрузок методов сохранения, которые не принимают параметры в качестве параметра.

Для получения дополнительной информации см. Preserving White Space while Loading или Parsing XML and Preserving White Space While Serializing.