Как установить текстовую кодировку моего открытого XML-документа? - PullRequest
0 голосов
/ 07 ноября 2011

Как установить кодировку текста моего открытого XML-документа?

В Office 2003, когда я открываю документ, созданный с помощью Open XML, появляется ошибка кодификации , например .Как я могу установить кодификацию или как я могу исправить эту ошибку?

У меня установлен пакет совместимости, и я могу открыть каждый файл .docx, но, похоже, мне нужно установить кодировку.

Как создать документ

private static void BuildDocument(string fileName, List<string> lista, string tipo)
        {     

            using (WordprocessingDocument w = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document))
            {                
                MainDocumentPart mp = w.AddMainDocumentPart();
                DocumentFormat.OpenXml.Wordprocessing.Document d = new DocumentFormat.OpenXml.Wordprocessing.Document();
                Body b = new Body();                
                DocumentFormat.OpenXml.Wordprocessing.Paragraph p = new DocumentFormat.OpenXml.Wordprocessing.Paragraph();
                Run r = new Run();
                for (int i = 0; i < lista.Count; i++)
                {
                    Text t = new Text();
                    t.Text = lista[i];

                    if (t.Text == "          ")
                    {
                        r.Append(new CarriageReturn());
                    }
                    else
                    {                        
                        r.Append(t);
                        r.Append(new CarriageReturn());
                    }
                }

                lista.Clear();
                p.Append(r);
                b.Append(p);
                HeaderPart hp = mp.AddNewPart<HeaderPart>();
                string headerRelationshipID = mp.GetIdOfPart(hp);
                SectionProperties sectPr = new SectionProperties();
                HeaderReference headerReference = new HeaderReference();
                headerReference.Id = headerRelationshipID;
                headerReference.Type = HeaderFooterValues.Default;
                sectPr.Append(headerReference);
                b.Append(sectPr);
                d.Append(b);

                hp.Header.Save();
                mp.Document = d;
                mp.Document.Save();
                w.Close();
            }             
        }

1 Ответ

1 голос
/ 08 ноября 2011

Open XML предназначен только для документов Office 2007 и старше. Office 2003 и ниже не совместим с Open XML, и поэтому вы получаете это всплывающее окно. Это не контролируется через Open XML, и только Word выдаст всплывающее окно при открытии несовместимого документа.

...