2015-05-03 72 views
1

我试图使用DocX nuget包创建/操作Word .docx文件。尝试插入使用Novacode DocX nuget包的表时出错

在他们所提供的下面的示例的文档:

// Place holder for a Table. 
Table t; 

// Load document a. 
using (DocX documentA = DocX.Load(@"C:\Example\a.docx")) 
{ 
    // Get the first Table from this document. 
    t = documentA.Tables[0]; 
} 

// Load document b. 
using (DocX documentB = DocX.Load(@"C:\Example\b.docx")) 
{ 
    /* 
    * Insert the Table that was extracted from document a, into document b. 
    * This creates a new Table that is now associated with document b. 
    */ 
    Table newTable = documentB.InsertTable(t); 

    // Save all changes made to document b. 
    documentB.Save(); 
}// Release this document from memory. 

当代码执行我接收插入表时的错误: 表newtable的= documentB.InsertTable(T);

错误: System.InvalidOperationException {“序列不包含任何元素”}

我很茫然,为什么这正在发生。我查看了正在插入的表“t”,它看起来具有所有的属性。我不清楚是什么导致了错误。

任何帮助将不胜感激。

回答

1

我已经切换到使用从docx.codeplex.com下载的DLL的最新版本。

我仍然有这个问题。然而,我然后把我从我的源文档应对的表格与直接使用DocX.dll创建的表格进行比较。

我发现由于某种原因,我的源表上的Design属性没有设置为任何值,但是我直接创建的表被设置为Novacode.TableDesign.TableGrid。

我现在在我的源表上设置这个属性,一切按预期工作。

mytable.Design = Novacode.TableDesign.TableGrid; 

我怀疑这是我修改的源文档中的一个问题。但由于我不是原作者,我无法控制这一点。

手动设置此属性允许我克隆源表,并且我的解决方案正在工作。

相关问题