C# 为什么AltCHunks的值为空;插入“;指向

C# 为什么AltCHunks的值为空;插入“;指向,c#,sharepoint-2010,C#,Sharepoint 2010,我有一个sharepoint文档集。 其中有一个模板,以及需要合并的1到n个文档 我使用的代码来自 在altChunks“分配数据”(虽然它写的是一个必须“打开并修复”的损坏文件)打开之前,一切都很顺利,但我在另一个问题中解决这个问题 模板文档是在内存中打开的,而不是“直接”或“就地”打开的,因为它是一个使用Open XML的sharepoint文件(我猜是???)。内存流正在进行“Open Binary”写入,但我似乎无法在altChunk中找到一个位置来验证FeedData是否工作……在In

我有一个sharepoint文档集。 其中有一个模板,以及需要合并的1到n个文档

我使用的代码来自

在altChunks“分配数据”(虽然它写的是一个必须“打开并修复”的损坏文件)打开之前,一切都很顺利,但我在另一个问题中解决这个问题

模板文档是在内存中打开的,而不是“直接”或“就地”打开的,因为它是一个使用Open XML的sharepoint文件(我猜是???)。内存流正在进行“Open Binary”写入,但我似乎无法在altChunk中找到一个位置来验证FeedData是否工作……在InsertAfter中,altChunk内部文本为“”(空)

对于要添加的每个文件,将调用以下代码一次: void AddAltChunk(main文档部分main部分,Word.SdtElement sdt,SPFile文件名,bool LastPass) { 字符串altChunkId=“altChunkId”+id; id++; byte[]byteArray=filename.OpenBinary()

那么这里是“写入”部分……它写出一个包含原始模板的文件,但是没有来自假定合并的文件的文本

其他无关信息: 代码说使用“模板dotx”开始,然后写“docdocx”…这使得文件无法打开或修复。 我将模板修改为DOCX,得到一个损坏的文件,可以使用open and Repair打开。 这些文档是我制作的并应用于图书馆的“内容类型”,因此当它们单击“新建”时,它们会得到该文档的一个空白(带有一些内容控件)…这会使1到多个文档合并…我想知道内容控件是否有问题?…尽管我在其中放置了一个没有CC和一行“常规文本”的“常规”文档“&即使是“合并的”


不知所措。而且我(显然对你们专业人士来说)是C#的新手,所以像我7岁一样跟我说话:)

我想我已经厌倦了对你们所有人的欢迎了?
        AlternativeFormatImportPart chunk = mainPart.AddAlternativeFormatImportPart(
        AlternativeFormatImportPartType.WordprocessingML, altChunkId);

        using (MemoryStream mem = new MemoryStream())
        {
            mem.Write(byteArray, 0, (int)byteArray.Length); //mem.length grows after this
            mem.Seek(0, SeekOrigin.Begin);
            chunk.FeedData(mem);  //dunno if this workin
        }

        Word.AltChunk altChunk = new Word.AltChunk();
        altChunk.Id = altChunkId;
        //Replace content control with altChunk information 

        DocumentFormat.OpenXml.OpenXmlElement parent = sdt.Parent;
        parent.InsertAfter(altChunk, sdt);  //altChunk "inner text" is empty (just guessing that it should have the info to be written)
        if (LastPass) { sdt.Remove(); }
     }