2015-05-03 84 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; 

我懷疑這是我修改的源文檔中的一個問題。但由於我不是原作者,我無法控制這一點。

手動設置此屬性允許我克隆源表,並且我的解決方案正在工作。

相關問題